Текущее время: Пт, июл 18 2025, 20:08

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: "Раскрасить" ALV-GRID
СообщениеДобавлено: Чт, июл 06 2006, 17:13 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, окт 24 2005, 15:55
Сообщения: 296
Пол: Мужской
Доброе время суток.
Никто не сталкивался с раскраской алв-грида: строк, столбцов, ячеек, по определенным свойствам?
К примеру: если столбец 2 имеет значение 'X' то эту строку помечать красным и т.д.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 06 2006, 17:29 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, июн 16 2005, 09:29
Сообщения: 71
Откуда: земляк Loyso
Привет!
Сталкивался недавно - для раскраски строки пришлось каждое поле в ней раскрашивать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 06 2006, 17:53 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 10 2004, 17:44
Сообщения: 97
Откуда: Москва
Пол: Мужской
Делается достаточно просто.

По пунктам (с примером):

1. В структуре таблички, которую собираетесь раскрашивать, укажите:

Code:
  TYPES:
       BEGIN OF t_confirmations,
         operation_no TYPE vornr,
          delta TYPE int4,
*!!!
       cellcolors TYPE lvc_t_scol,
*!!!     
    pspel TYPE ps_posnr,
       END OF t_confirmations.

DATA: lt_confirmations type t_confirmations occurs 0 with header line.



2. Теперь важно указать конкретную ячейку в конкретной строчке Вашей таблицы:

Code:
Data ls_cellcolor TYPE lvc_s_scol.
**********************

            LOOP AT lt_confirmations WHERE delta > 0.
* Красный цвет ячейки DELTA:
              ls_cellcolor-fname =  'DELTA'.
              ls_cellcolor-color-col = '6' .
              ls_cellcolor-color-inv = '0'.
              ls_cellcolor-color-int = '0' .
              APPEND ls_cellcolor TO lt_confirmations-cellcolors.

              MODIFY lt_confirmations.
            ENDLOOP.

3. В layout-структуре, которую Вы передаёте в REUSE_ALV_GRID_DISPLAY укажите:


Code:
            l_layout-coltab_fieldname = 'CELLCOLORS'.


Всё. Теперь вызывайте REUSE_ALV_GRID_DISPLAY.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 07 2006, 11:56 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, мар 10 2005, 10:21
Сообщения: 198
Пол: Мужской
А можно и просто
ls_cellcolor-color = '600'. :)

_________________
Если программа заработала с первого раза, значит она написана принципиально неверно!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 07 2006, 19:30 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 06 2006, 17:38
Сообщения: 130
К вышеописанному, могу добавить, что я делаю на автомате, если REUSE_ALV_GRID_DISPLAY.
layout type slis_layout_alv
layout-zebra = 'X'
is_layout = layout


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июл 10 2006, 16:02 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, сен 21 2005, 10:01
Сообщения: 651
Откуда: СССР
Buran написал(а):
Привет!
Сталкивался недавно - для раскраски строки пришлось каждое поле в ней раскрашивать.


Зачем? Строку можно раскрасить целиком, без разбивки по ячейкам.


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

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


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

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


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

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