Текущее время: Пн, июл 21 2025, 22:41

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Вт, ноя 17 2009, 11:07 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 15 2008, 16:22
Сообщения: 72
Добрый день, коллеги.
Очень необходимо сделать в компоненте-таблицы Webdynpro ALV SALV_WD_TABLE
чтоб один из столбцов представлял из себя Dropdown доступный для редактирования.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Вт, ноя 17 2009, 11:12 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
звучит подозрительно :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Вт, ноя 17 2009, 12:18 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Возможно копать стоит начать отсюда...
http://wiki.sdn.sap.com/wiki/display/Sn ... nent+cells


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Вт, ноя 17 2009, 12:29 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 15 2008, 16:22
Сообщения: 72
Konstantin Anikeev написал:
Возможно копать стоит начать отсюда...
http://wiki.sdn.sap.com/wiki/display/Sn ... nent+cells

Не совсем то что требуется.
Т.к. Dropdown в этом примере нет.

Совсем не понимаю как устанавливать множество значений для Dropdown в SALV_WD_TABLE и как отслеживать событие изменения.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Вт, ноя 17 2009, 13:03 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Я же неговорил, что там готовый ответ... Зато там есть интеграция CHECKBOX и IMAGE, я думаю, что по аналогии сделать будет несложно...
Code:
CREATE OBJECT lr_link.
        lr_link->set_text_fieldname( <fs_column>-id ).
        <fs_column>-r_column->set_cell_editor( lr_link ).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Вт, ноя 17 2009, 13:08 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 15 2008, 16:22
Сообщения: 72
Konstantin Anikeev написал:
Я же неговорил, что там готовый ответ... Зато там есть интеграция CHECKBOX и IMAGE, я думаю, что по аналогии сделать будет несложно...
Code:
CREATE OBJECT lr_link.
        lr_link->set_text_fieldname( <fs_column>-id ).
        <fs_column>-r_column->set_cell_editor( lr_link ).

Больше всего не понимаю как для Dropdown передавать множество возможных значений.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Вт, ноя 17 2009, 13:27 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Привязываете его не к аттрибуту, а к ноде (табличной) они автоматом будут подогнаны, если нода заполнена значениями...
Я вот другой косяк нашел... DropDown вроде как не редактируемый...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Вт, ноя 17 2009, 14:00 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 15 2008, 16:22
Сообщения: 72
Konstantin Anikeev написал:
DropDown вроде как не редактируемый...

Такое бывает если весь ALV закрыт на редактирование, сначала нужно открыть.
Code:
lr_config        = lr_if_controller->get_model( ).
lr_config->if_salv_wd_table_settings~set_read_only( abap_false ).


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Вт, ноя 17 2009, 14:30 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Я к тому, что новое зачение нельзя в него вписать... Только выбрать из списка...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Ср, ноя 18 2009, 02:27 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Если я правильно понял и не нужно чего-то сверхординарного (типа и dropdown-список и еще свои значения можно вводить), то просто combobox с фиксированными значениями в гриде можно сделать примерно так, надеюсь по этой куче кода будет понятно, куда копать:

Code:
  DATA: lc_node_info     TYPE REF TO if_wd_context_node_info,
        lc_node          TYPE REF TO if_wd_context_node.


  lc_node = wd_context->get_child_node( name = ... ).
  lc_node_info = lr_node->get_node_info( ).
 
  ...

  DATA: lt_values TYPE TABLE OF wdr_context_attr_value
  FIELD-SYMBOLS: <fs_values>   TYPE wdr_context_attr_value.

  APPEND INITIAL LINE TO lt_values ASSIGNING <fs_values>.
  <fs_values>-value = '001'.
  <fs_values>-text = 'Text 1'.

  APPEND INITIAL LINE TO lt_values ASSIGNING <fs_values>.
  <fs_values>-value = '002'.
  <fs_values>-text = 'Text 2'. 

  DATA: l_column_settings          TYPE REF TO if_salv_wd_column_settings,
        lr_dropdown_key TYPE REF TO cl_salv_wd_uie_dropdown_by_key.

  ...
  l_model = l_ref_interfacecontroller->get_model( ).
  l_column_settings ?= l_model.
  lt_columns = l_column_settings->get_columns( ).
 
  LOOP AT lt_colums ASSIGNING <fs_col>.
      ...
      WHEN 'DRDOWN_FIELD'.
        lc_node_info->set_attribute_value_set( name = <fs_col>-id value_set =  lt_values ).
        CREATE OBJECT lr_dropdown_key
          EXPORTING
            selected_key_fieldname = <fs_col>-id.
        <fs_col>-r_column->set_cell_editor( lr_dropdown_key  ).
    ENDCASE.
  endloop.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Ср, ноя 18 2009, 10:01 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 15 2008, 16:22
Сообщения: 72
raaleksandr


Спасибо за развернутый ответ.
Еще нужно как то отслеживать событие смены выбранного элемента Dropdown.
У CL_SALV_WD_UIE_DROPDOWN_BY_KEY есть событие IF_SALV_WD_CONFIG~CHANGED
но не понятно, как на него подписаться можно.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Чт, ноя 19 2009, 10:17 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
К сожалению не успел вчера вечером сделать пример.
Но может стоит покопать в эту сторону:

Dynamically Registering an Event Handler to an Event
http://help.sap.com/erp2005_ehp_04/help ... ameset.htm


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Чт, ноя 19 2009, 11:52 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Ср, ноя 01 2006, 22:58
Сообщения: 794
Откуда: Заарбрюкен
Пол: Мужской
Можно и вот тут глянуть...
Generating Self-Defined Functions for ALV in Web Dynpro for ABAP


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown  Тема решена
СообщениеДобавлено: Пт, ноя 20 2009, 01:55 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
Все оказалось гораздо проще - при изменении значения в DropDown генерится событие ON_DATA_CHECK.
На всякий случай пара слов как это событие ловить:
1. Добавить событие во View для грида, событие ON_DATA_CHECK
2. В коде инициализации грида вызвать:
Code:
data: l_model                     TYPE REF TO cl_salv_wd_config_table,
      ref_interfacecontroller     TYPE REF TO iwci_salv_wd_table.

ref_interfacecontroller = wd_this->wd_cpifc_alv( ).   " Здесь указать правильный ALV, использованный во View
l_model = l_ref_interfacecontroller->get_model( ).

l_model->if_salv_wd_table_settings~set_data_check(
    if_salv_wd_c_table_settings=>data_check_on_cell_event ).


когда поймаете событие - смотрите r_param->t_modified_cells - там все будет


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Webdynpro, компонент SALV_WD_TABLE, сделать редактируемый Dropdown
СообщениеДобавлено: Пт, ноя 20 2009, 12:12 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, дек 15 2008, 16:22
Сообщения: 72
raaleksandr
Сделал все согласно вашему посту. Работает!Я ИДИЁТ, УБЕЙТЕ МИНЯ КТО-НИБУДЬ!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

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


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

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


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

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