Текущее время: Чт, мар 28 2024, 21:14

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Ср, май 18 2011, 15:50 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, май 17 2010, 07:31
Сообщения: 53
Добрый день.
Есть динамически формируемый редактируемый alv grid. Для некоторых полей нужно сделать возможность выбора значений из списка.
Делаю это так:
Code:
form main_attr_set_grid_drdn using attr_id type z_head-attr_id
                             changing ct_fcat type lvc_t_fcat.

  TYPES: begin of z_attr_type,
            atnam like cabn-atnam,
            atwtb like cawnt-atwtb,
            atwrt like cawn-atwrt,
         end of z_attr_type.

  field-symbols: <ls_outtab> type any,
                 <ls_fcat>   type lvc_s_fcat,
                 <fs>.

  data: lt_drdn type lvc_t_drop,                            "#EC NEEDED
        ls_drdn type lvc_s_drop,                            "#EC NEEDED
        lt_dral type lvc_t_dral,                            "#EC NEEDED
        ls_dral type lvc_s_dral,                            "#EC NEEDED
        l_count type i.

  define mac_get_drdn.
    ls_drdn-handle  = 1.
    ls_drdn-value   = &1.
    append ls_drdn to lt_drdn.

    add 1 to l_count.
    ls_dral-handle    = 1.
    ls_dral-value     = &1.
    write l_count to ls_dral-int_value left-justified.
    append ls_dral to lt_dral.
  end-of-definition.


  loop at t_attr_val.
      mac_get_drdn t_attr_val-atwrt.
  endloop.

  call method g_grid->set_drop_down_table
    exporting
      it_drop_down_alias = lt_dral.

  read table ct_fcat assigning <ls_fcat>
             with key fieldname = attr_id.

  if sy-subrc eq 0.
    <ls_fcat>-drdn_field = 'HANDLE_DRDN'.
    <ls_fcat>-drdn_alias = 'X'.
  endif.

  loop at <dyn_table> assigning <ls_outtab>.
    ASSIGN COMPONENT 'HANDLE_DRDN' OF STRUCTURE <ls_outtab> TO <fs>.
*    <ls_outtab>-handle_drdn = 1.
    <fs> = 1.
  endloop.

endform.


Проблема в том, что значения в списке не отображаются. Табличка lt_dral на выходе непустая.
Если делать тоже самое для alv grid, в котором все поля руками создаю, то список значений отображается нормально.
С чем это может быть связано?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Чт, май 19 2011, 07:44 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
По моему тут не хватает заполнения ls_fieldcat_obj-drdn_hndl.
См примеры, никаких проблем быть не должно...
BCALV_EDIT_06 Раскр. окно списка на уровне столбца
BCALV_EDIT_07 Раскрыв. окно списка на уровне ячейки


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Пн, май 23 2011, 12:32 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, май 17 2010, 07:31
Сообщения: 53
Besa написал:
По моему тут не хватает заполнения ls_fieldcat_obj-drdn_hndl.


Заполнение идет тут:
Code:
  if sy-subrc eq 0.
    <ls_fcat>-drdn_field = 'HANDLE_DRDN'.
    <ls_fcat>-drdn_alias = 'X'.
  endif.


Проблему так и не решил. Может быть есть еще какие-то особенности в случае, когда грид динамически формируется?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Пн, май 23 2011, 14:25 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, май 17 2010, 07:31
Сообщения: 53
разобрался


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Вт, май 24 2011, 07:17 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, май 17 2010, 07:31
Сообщения: 53
Вопрос в эту же тему, сделал списки для ячеек. При обновлении данных в ячейках вместо выбранных значений подствляются цифры.

Филд каталог заполняю так:
Code:
FORM CreateFieldNames USING f_name TYPE zozm_wf_obl_attr-attr_id
                            f_text TYPE zozm_wf_obl_attr-attr_name.

  ls_fcat-fieldname = f_name.
  ls_fcat-seltext = f_text.
  ls_fcat-coltext = f_text.
  ls_fcat-outputlen = 100.
  ls_fcat-no_zero = 'X'.
  ls_fcat-lowercase = 'X'.
  ls_fcat-checktable = '!'.
*  ls_fcat-no_out = 'X'.
  append ls_fcat to gt_fieldcat2.
ENDFORM.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Вт, май 24 2011, 08:19 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, май 17 2010, 07:31
Сообщения: 53
Разобрался.
не нужно было указывать
Code:
<ls_fcat>-drdn_alias = 'X'.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Ср, июл 31 2019, 17:02 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 90
Подскажите,существует ли следующая возможность. Есть грид. Нажимаю кнопку какую-то и хочу ,чтобы после этого изменилось количество полей на экране. Сделал большую структуру-где есть поля все. Пытаюсь менять в mt_fieldcat no_out после нажатия кнопки,потом делаю refresh_alv() и...ничего..может кто подскажет в чем может быть проблема?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Ср, июл 31 2019, 22:10 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 347
Что такое refresh_alv()?
Code:
grid->get_frontend_fieldcatalog( IMPORTING et_fieldcatalog = vt_catalog ).
* сокрытие колонок с использованием no_out = 'X' или даже tech = 'X'
grid->set_frontend_fieldcatalog( vt_catalog )
DATA: stable TYPE lvc_s_stbl.

  stable-row = 'X'.
  stable-col = 'X'.
  vref_grid->refresh_table_display( i_soft_refresh = iflag_soft_refresh is_stable = stable ).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Чт, авг 01 2019, 09:17 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 90
Да,это работает,спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Чт, авг 01 2019, 10:09 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 90
Может подскажите метод тоже самое для кнопки на гриде,если я хочу сделать?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Чт, авг 01 2019, 14:42 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, окт 23 2015, 14:48
Сообщения: 90
Igor_Beruk написал(а):
Может подскажите метод тоже самое для кнопки на гриде,если я хочу сделать?

Спасибо.нашел сам


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выбор значений для поля в динамиском alv grid
СообщениеДобавлено: Ср, авг 07 2019, 09:13 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Igor_Beruk написал(а):
Igor_Beruk написал(а):
Может подскажите метод тоже самое для кнопки на гриде,если я хочу сделать?

Спасибо.нашел сам

Для других, событие грида - toolbar.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB