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

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


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

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


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

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