2010-06-14 3 views
2

Я хочу добавить строку заголовка, группирующую заголовки столбцов.2-уровневые заголовки столбцов в списке ALV

 Departure     Arrival  <-- This row is what I want to add 
Airport Gate Date Airport Gate Date 
-------- ----- ----- -------- ----- ------- 
O'Hare  A10  10Mar Atlanta G19  10Mar 
DFW  K98  11Mar Denver  Z76  11Mar 

Обратите внимание, что я использую ALV Список, а не ALV Grid. Я посмотрел образец программы BALVBT01, который имеет двухуровневый заголовок, но, оказывается, это потому, что они отображают родительские/дочерние данные. Мои данные имеют только один уровень, я просто хочу сгруппировать столбцы.

ответ

3

Обнаружено мое решение here. Используйте событие top_of_list, чтобы добавить пользовательскую информацию заголовка до того, как будет напечатан стандартный заголовок. Если вы хотите заменить стандартный заголовок своим, вы можете отключить стандартный заголовок, передав is_layout-no_colhead = 'X' в таблицу макетов.

* Get Event table 
CALL FUNCTION 'REUSE_ALV_EVENTS_GET' 
IMPORTING 
et_events = it_evt. 

* Add pointer to custom top_of_list event handler 
READ TABLE it_evt INTO wa_evt 
WITH KEY name = slis_ev_top_of_list . 
wa_evt-form = 'MY_TOP_OF_LIST' . 
MODIFY it_evt FROM wa_evt INDEX sy-tabix . 

* Pass event table when printing ALV list 
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' 
    EXPORTING 
    i_callback_program = w_prog 
    is_layout   = fs_layout 
    it_fieldcat  = t_fieldcat 
    it_events   = it_evt 
    TABLES 
    t_outtab   = t_spfli. 

************************************ 
* Custom event handler to write group-level header 
FORM MY_TOP_OF_LIST . 
ULINE AT 1(43) . 
FORMAT COLOR COL_HEADING . 
WRITE:/sy-vline , 
     10 'SAP' , 
     22 sy-vline , 
     31 'VPPA' , 
     43 sy-vline . 
ENDFORM. 
+0

Здравствуйте, вы можете предоставить декларацию данных для своих таблиц и т. Д.? Спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^