TYPE-POOLS SLIS.
ALV显示
FORM OUTPUT_ALV .
DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
GT_FIELDGROUPS TYPE SLIS_T_SP_GROUP_ALV,
GT_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_SORTFIELDS TYPE SLIS_T_SORTINFO_ALV WITH HEADER LINE,
GT_EVENTS TYPE SLIS_T_EVENT.
DATA: NN TYPE I VALUE 0.
DATA: TITLE TYPE LVC_TITLE.
DEFINE HOUT.
NN = NN + 1.
GT_FIELDCAT -COL_POS = NN.
“
列号
GT_FIELDCAT -TABNAME = 'GT_ITAB'.
GT_FIELDCAT -FIELDNAME = &1.
“
字段名
GT_FIELDCAT -SELTEXT_M = &2.
“
显示的列名
GT_FIELDCAT -CFIELDNAME = &3.
GT_FIELDCAT -DATATYPE = &4.
GT_FIELDCAT -REF_TABNAME = &5.
GT_FIELDCAT -REF_FIELDNAME = &6.
GT_FIELDCAT -DO_SUM = &7.
GT_FIELDCAT -HOTSPOT = &8.
APPEND GT_FIELDCAT .
CLEAR GT_FIELDCAT .
END-OF-DEFINITION.
HOUT 'col1' '
列名
1' '' '' '' '' '' ''.
HOUT 'col2' '
列名
2' '' '' '' '' '' 'X'.
HOUT 'col3' '
列名
3' '' '' '' '' '' ''.
**
GT_LAYOUT-ZEBRA = 'X'.
“
ALV
控制: 可选行颜色 (带) ,
隔行显示颜色.
GT_LAYOUT-GET_SELINFOS = 'X'.
GT_LAYOUT-COLWIDTH_OPTIMIZE = 'X'. "
优化列宽选项是否设置
GT_LAYOUT-DETAIL_POPUP = 'X'. "
是否弹出详细信息窗口
GT_LAYOUT-NO_KEYFIX = 'X'.
GT_LAYOUT-NO_TOTALLINE = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = GT_LAYOUT
IT_FIELDCAT = GT_FIELDCAT []
IT_SPECIAL_GROUPS = GT_FIELDGROUPS[]
IT_SORT = GT_SORTFIELDS[]
IT_EVENTS = GT_EVENTS[]
I_GRID_TITLE = TITLE
TABLES
T_OUTTAB = GT_ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM. " OUTPUT_ALV
*通过热点响应程式的单击事件和双击等事件*
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
DATA: L_TA TYPE SY-TCODE VALUE 'SLIS_DUMMY'.
CLEAR:L_MATNR.
CHECK SY-SUBRC = 0.
IF R_UCOMM EQ '&IC1'.
CASE SELFIELD-SEL_TAB_FIELD.
WHEN 'GT_ITAB-LABST'.
READ TABLE GT_ITAB INDEX SELFIELD-TABINDEX.
…
ENDCASE.
ENDIF.
ENDFORM. "USER_COMMAND
为某列赋上颜色
DATA: begin of wa,
NO(18) type c,
STATUS TYPE P DECIMALS 0,
colour TYPE slis_t_specialcol_alv,
end of wa.
DATA itab like TABLE OF wa.
DATA: color TYPE slis_t_specialcol_alv WITH HEADER LINE.
loop at itab into wa.
*
循环指定满足列需求的列的颜色
*
color-fieldname = 'STATUS'.
“
为某一列着色
color-color-col = '5'.
"1
蓝色
,3
黄色
4
淡蓝色
5
绿色
6
红色
7
桔黄
append color.
.
wa_ziebtmsg-colour = color[].
modify itab from wa.
clear wa.
endloop.
GT_LAYOUT-coltab_fieldname = 'COLOUR'.
"
控件颜色哪行哪列的控制列