Текущее время: Ср, июл 23 2025, 22:10

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Запрет на редактирование отдельных ячеек в REUSE_ALV_GRID_DISPLAY
СообщениеДобавлено: Пн, фев 11 2008, 11:18 
Специалист
Специалист

Зарегистрирован:
Вт, мар 07 2006, 15:56
Сообщения: 137
Пол: Мужской
Добрый день.
Можно ли в REUSE_ALV_GRID_DISPLAY закрыть некоторые ячейки на редактирование? :?:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, фев 11 2008, 11:21 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
В REUSE_ALV_GRID_DISPLAY_LVC точно можно, заполнение поля STYLEFNAME в филдкаталоге поспособствует.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, фев 11 2008, 11:41 
Специалист
Специалист

Зарегистрирован:
Вт, мар 07 2006, 15:56
Сообщения: 137
Пол: Мужской
John Doe написал:
В REUSE_ALV_GRID_DISPLAY_LVC точно можно, заполнение поля STYLEFNAME в филдкаталоге поспособствует.

Не очень хочется переписывать на REUSE_ALV_GRID_DISPLAY_LVC. Сроки поджимают. Через REUSE_ALV_GRID_DISPLAY ника нельзя :?:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, фев 11 2008, 11:52 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Нет вроде. Аналогичная тема.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запрет на редактирование отдельных ячеек в REUSE_ALV_GRID_DISPLAY
СообщениеДобавлено: Вт, май 15 2012, 16:23 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, янв 14 2009, 09:24
Сообщения: 69
Откуда: Санкт-Петербург
Пол: Женский
luka_rus написал:
Добрый день.
Можно ли в REUSE_ALV_GRID_DISPLAY закрыть некоторые ячейки на редактирование? :?:


Можно. Я сделала так:
Code:
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
      gs_fieldcat LIKE LINE OF gt_fieldcat,
      gt_events   TYPE slis_t_event,
      gs_events   LIKE LINE OF gt_events,
      gs_layout   TYPE slis_layout_alv,
      gs_grid_settings TYPE lvc_s_glay.

...
  gs_events-name = 'END_OF_PAGE'.
  gs_events-form = 'END_OF_PAGE'.
  APPEND gs_events TO gt_events.
...
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program       = gv_repid
      i_callback_pf_status_set = gv_status
      i_grid_settings          = gs_grid_settings
      is_layout                = gs_layout
      it_fieldcat              = gt_fieldcat[]
      it_events                = gt_events[]
    TABLES
      t_outtab                 = gt_zcheck[].
...
FORM end_of_page.

  DATA: ref1 TYPE REF TO cl_gui_alv_grid,
        layout TYPE lvc_s_layo.
       
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = ref1.

  ref1->get_frontend_layout(
    IMPORTING
      es_layout = layout
         ).

  IF layout-stylefname IS INITIAL.

    layout-stylefname = 'CELLSTYLE'.
    ref1->set_frontend_layout( is_layout = layout ).

    PERFORM set_cells_style.

    ref1->refresh_table_display( ).

  ENDIF.

ENDFORM.                    "end_of_page
...
FORM set_cells_style .

  DATA: ls_style TYPE lvc_s_styl,
        lt_style TYPE TABLE OF lvc_s_styl.

  ls_style-fieldname = 'STATUS'.
  APPEND ls_style TO lt_style.
  ls_style-fieldname = 'SUM_PART'.
  APPEND ls_style TO lt_style.
  ls_style-fieldname = 'SH_PART'.
  APPEND ls_style TO lt_style.
  ls_style-fieldname = 'WAERS'.
  APPEND ls_style TO lt_style.
  ls_style-fieldname = 'TEXT'.
  APPEND ls_style TO lt_style.

  SORT lt_style BY fieldname. "ВАЖНО!!!

  CLEAR ls_style.

  LOOP AT gt_zcheck.

    CLEAR gt_zcheck-cellstyle[].

    IF gt_zcheck-status IS INITIAL.
      ls_style-style = cl_gui_alv_grid=>mc_style_enabled. " Включено редактирование
    ELSE.
      ls_style-style = cl_gui_alv_grid=>mc_style_disabled. " Выключено редактирование
    ENDIF.

    MODIFY lt_style FROM ls_style TRANSPORTING style WHERE style <> ls_style-style.
    gt_zcheck-cellstyle[] = lt_style[].

    MODIFY gt_zcheck.

  ENDLOOP.

ENDFORM.                    " SET_CELLS_STYLE

...
FORM user_command USING ls_ucomm    LIKE sy-ucomm
                        ls_selfield TYPE slis_selfield.
...
  ls_selfield-refresh     = 'X'.
  ls_selfield-col_stable  = 'X'.
  ls_selfield-row_stable  = 'X'.
...
  PERFORM set_cells_style.

ENDFORM.                    "user_command


_________________
Пессимисты, глядя на стакан, содержащий 50% воды и 50% воздуха, говорят, что он наполовину пуст.
Оптимисты, наоборот, считают, что наполовину полон.
А разработчики понимают, что просто сам стакан в два раза больше, чем должен быть.

(c) Боб Льюис


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

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


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

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


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

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