2010-06-14 71 views
2

我想添加一個標題行來組合列標題。ALV列表中的2級列標題

 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網格。我看過示例程序BALVBT01,它有一個2級標題,但事實證明這是因爲它們顯示父/子數據。我的數據只有一個級別,我只想分組列。

回答

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

你好,你能提供你的表等數據聲明?謝謝。 – 2013-03-19 17:16:00