Текущее время: Сб, июл 19 2025, 16:17

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Веб Динпро. На алв-ой таблице сделать чекбокс в одних ячейках editable, в других non editeble
СообщениеДобавлено: Вт, июл 02 2013, 13:22 
Ассистент
Ассистент

Зарегистрирован:
Вс, дек 09 2012, 16:41
Сообщения: 37
Добрый день!

Новичок в Web Dynpro. Есть вопрос, с попыткой решения которого я уже, честно говоря, замучался.

Ситуация следующая: есть алв-ная таблица. Одно из полей -- чекбокс. Нужно реализовать такую функцию, чтобы в зависимости от определенных условий в строке чекбокс был открыт на редактирование или чекбокс был закрыт на редактирование.

Опишу по шагам свои действия:

1) в контестный нод, который is mapped c alv-ой, добавляю атрибут READONLY типа WDY-BOOLEAN ( в контекстном ноде уже сужествует поле CHECK типа WDY_BOOLEAN ).

2) затем проверяю условия в строках и в зависимости от условий присваиваю полю READONLY значение abap_true или abap_false.

3) bind нод с таблицей (таблица заполняется совершенно правильно. Поле READONLY заполняется крестиками или пробелами в зависимости от условий)

4) далее настраиваю алв.

" create an instance of ALV component

" get reference to the ALV model


DATA:

lo_table_settings TYPE REF TO if_salv_wd_table_settings,
lo_column_settings TYPE REF TO if_salv_wd_column_settings,
lo_column TYPE REF TO cl_salv_wd_column.

lo_column_settings ?= lv_value.
lo_table_settings ?= lv_value.

lo_column = lv_value->if_salv_wd_column_settings~get_column( 'CHECK' ).



DATA lr_checkbox TYPE REF TO cl_salv_wd_uie_checkbox.

" создаю объект чекбокс

CREATE OBJECT lr_checkbox
EXPORTING
checked_fieldname = 'CHECK'.


" делаем таблицу открытой на редактирование

lo_table_settings->set_read_only( abap_false ).



lo_column = lo_column_settings->get_column( 'CHECK' ).

**Creating UI Elmenent 'INPUT FIELD' to make the column editable

DATA: lr_input_field TYPE REF TO cl_salv_wd_uie_input_field.
CREATE OBJECT lr_input_field EXPORTING value_fieldname = 'CHECK'.


lr_checkbox->set_read_only_fieldname( value = 'READONLY' ).
lv_value->if_salv_wd_column_settings~delete_column( ID = 'READONLY' ).

Уже перечитал кучу полезных ссылок -- делаю на их примере, и немало покалдовал над кодом: ничего не помогает.

Вот, собственно, сслыки, на примере которых делал:
http://www.saptechnical.com/Tutorials/W ... r/Edit.htm
http://wiki.sdn.sap.com/wiki/display/WD ... o+for+ABAP
http://scn.sap.com/thread/1400116
http://scn.sap.com/thread/1336088


Буду признателен, если кто-то поможет разобраться!
Большое спасибо!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Веб Динпро. На алв-ой таблице сделать чекбокс в одних ячейках editable, в других non editeble  Тема решена
СообщениеДобавлено: Вт, июл 02 2013, 16:04 
Начинающий
Начинающий

Зарегистрирован:
Ср, май 11 2011, 14:08
Сообщения: 3
Попробуйте в событии
WDDOMODIFYVIEW
сделать в соответствии с сылкой http://wiki.sdn.sap.com/wiki/display/WD ... o+for+ABAP

Property READONLY поля вашего поля ALV с таким же названием (READONLY) свяжите с вашим атрибутом (READONLY)достаточно для теста оставить следующий код ->

*Get the data from context node
CALL METHOD lo_nd_flights->get_static_attributes_table
IMPORTING
table = lt_flights.

*Populate READ_ONLY attribute
LOOP AT lt_flights INTO ls_flights.
MOVE-CORRESPONDING ls_flights TO ls_final.
IF ls_final-connid='0017'. "I want to edit the rows of a table whose connection no is 17,remaining all rows are non editable
ls_final-read_only = abap_false.
ELSE.
ls_final-read_only = abap_true.
ENDIF.
APPEND ls_final TO lt_final.
ENDLOOP.
CALL METHOD lo_nd_flights->bind_table
EXPORTING
new_items = lt_final


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

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


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

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


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

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