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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Переменная в алви объявлена как checkbox,не получается
СообщениеДобавлено: Пн, авг 20 2012, 11:51 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
Проблемма такая,
Переменная в алви объявлена как checkbox,при каких то условиях она должна быть всегда 'X' и не реагировать на редактирование.
В программе при редактировании в методе change я обрабатываю это условие ,делаю refresh все как и для других полей,но
здесь все равно можно поставить пробел.Если заменяю checkbox на сchar1 все работает.
Не хочется пока заводить на ячейку no-edit,может так кто поможет.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переменная в алви объявлена как checkbox,не получается
СообщениеДобавлено: Пн, авг 20 2012, 18:59 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
поищи LVC_T_STYL


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Переменная в алви объявлена как checkbox,не получается
СообщениеДобавлено: Вт, авг 21 2012, 10:14 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
ни как не получается,нельзя заменить на пробел галочку при определенных условиях,я вновь присваиваю в методе галочку,а
она выставляет пробел


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переменная в алви объявлена как checkbox,не получается
СообщениеДобавлено: Вт, авг 21 2012, 10:24 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, апр 18 2012, 14:20
Сообщения: 252
Откуда: РБ, г. Гомель
Пол: Мужской
вставьте кусок кода что-ли
не понять, что там у вас происходит


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переменная в алви объявлена как checkbox,не получается
СообщениеДобавлено: Вт, авг 21 2012, 10:47 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, янв 14 2010, 13:26
Сообщения: 70
Откуда: Санкт-Петербург
Пол: Мужской
Стиль меняйте для конкретно этой строки.. Не надо менять значений, нужно просто наложить запред на редактирование конкретно этой ячейки:

В структуру таблицы с данными для алв добавляете колонку для стиля (в филдкаталог не нужно дублировать (в моем случае филдкаталог построен на структуре ZOPSR))
Code:
  BEGIN OF t_zopsr.  "тип строки данных
    .INCLUDE STRUCTURE ZOPSR.
    types: cell     type lvc_t_styl,
  END OF t_zopsr.

Таблица с данными о стиле (добавьте для каждой колонки, для которой хотите запретить редактирование строку с указанным стилем)
Code:
  DATA:
    gt_style_list TYPE lvc_t_styl,
    ls_alv_cell_style LIKE LINE OF gt_style_list.
    ls_alv_cell_style-fieldname = <fs_fcat>-fieldname.  "имя поля
    ls_alv_cell_style-style = cl_gui_alv_grid=>mc_style_disabled.   
    INSERT ls_alv_cell_style INTO TABLE gt_style_list.

Если хотите запретить редактирование конкретной строки - изменяете содержимое ячейки CELL для этой строчки...
Code:
APPEND LINES OF gt_style_list TO <fs_zopsr>-cell.  "<fs_zosr> - обрабатываемая строка данных

Ну и плюс включить-отключить редактирование
Code:
    CALL METHOD go_alv_det->set_ready_for_input
      EXPORTING
        i_ready_for_input = 0.  "1-редактирование разрешено


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Переменная в алви объявлена как checkbox,не получается
СообщениеДобавлено: Вт, авг 21 2012, 11:38 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, ноя 18 2008, 10:40
Сообщения: 342
Откуда: Пермь
Пол: Мужской
Можно запретить редактирование checkbox-а, присвоив полю соответствующее значение:
' ' = input on, not selected
'X' = input on, selected
'1' = input off, selected
'0' = input off, not selected.
'-' = скрыть


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Переменная в алви объявлена как checkbox,не получается
СообщениеДобавлено: Вт, авг 21 2012, 12:51 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, июл 12 2007, 12:18
Сообщения: 430
form data_changed using rr_data_changed type ref to cl_alv_changed_data_protocol.
data: ls_mod_cells type lvc_s_modi.
loop at rr_data_changed->mt_mod_cells into ls_mod_cells
where fieldname = 'NCHECK' or
fieldname = 'NNREG' or
fieldname = 'NN_KNN' or
fieldname = 'NOTE'.

read table t100 index ls_mod_cells-row_id.
if sy-subrc = 0.
if ls_mod_cells-fieldname = 'NCHECK'.
t100-ncheck = ls_mod_cells-value.
**************вот в этом куске я по условию проверяю t100-nnreg и возвращаю 'X',если польз. поствавил пробел,но он меня не слушает
elseif ls_mod_cells-fieldname = 'NNREG'.

if ( ( t100-ernn <> 'X' and abs( t100-mmvsum ) >= 100000 and t100-bldat < '20120101' ) or
( t100-ernn <> 'X' and abs( t100-mmvsum ) >= 10000 and t100-bldat >= '20120101' ) ) or t100-ukt > 0.
ls_mod_cells-value = 'X'.
endif.
t100-nnreg = ls_mod_cells-value.

modify t100 index ls_mod_cells-row_id.

call method rr_data_changed->modify_cell
exporting
i_row_id = ls_mod_cells-row_id
i_tabix = ls_mod_cells-tabix
i_fieldname = ls_mod_cells-fieldname
i_value = t100-nnreg.

call method scr100_grid_alv->refresh_table_display.


elseif ls_mod_cells-fieldname = 'NN_KNN'.


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

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


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

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


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

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