Текущее время: Вт, июл 22 2025, 16:33

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


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

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


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

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