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

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


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

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


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

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