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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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