ALV GRID颜色设置
2008-10-18 14:18
232 查看
ALV的颜色分为行的颜色、列的颜色和CELL的颜色。
1.行的颜色
需要在要显示的内表中添加一个字段放置颜色信息,比如COLOR(4)TYPEC.
ITAB-COLOR='C700'.
此外,还要根据采用的FM方式还是CLASS方式设置一下显示颜色
FM方式:LS_LAYOUT-INFO_FIELDNAME='COLOR'.
CALLFUNCTION'REUSE_ALV_GRID_DISPLAY' EXPORTING IS_LAYOUT=LS_LAYOUT IT_FIELDCAT=LT_FIELDCAT TABLES T_OUTTAB=ITAB.
CLASS方式:SLA-INFO_FNAME='COLOR'. CALLMETHODGO_GRID->SET_TABLE_FOR_FIRST_DISPLAY EXPORTING IS_VARIANT=GS_VARIANT I_SAVE='A' IS_LAYOUT=SLA CHANGING IT_OUTTAB=ITAB[] IT_FIELDCATALOG=GT_FIELDCAT[] EXCEPTIONS INVALID_PARAMETER_COMBINATION=1 PROGRAM_ERROR=2 TOO_MANY_LINES=3 OTHERS=4.
2.列的颜色 设置FIELDCAT就可以了,如:TMP_FIELDCAT-EMPHASIZE='C500'."列的颜色
3.CELL的颜色 需要在要显示的内表添加一个字段:cellcolorsTYPElvc_t_scol. ls_cellcolor-color-col='5'. ls_cellcolor-color-int='1'. ls_cellcolor-color-inv='1'. APPENDls_cellcolorTOlist-cellcolors. APPENDlist.
例子:
REPORTZ_BARRY_ALV_CL_COLOR2.
TYPES:BEGINOFilist_s,
name1(10),
name2(10),
name3(10),
ENDOFilist_s.
DATA:ilistTYPESTANDARDTABLEOFilist_sWITHHEADERLINE.
DATA:BEGINOFlistOCCURS0.
INCLUDESTRUCTUREilist.
DATA:rowcolor(4)TYPEc,
cellcolorsTYPElvc_t_scol,
cellstylesTYPElvc_t_styl,
celltextTYPEalv_t_dtv.
DATA:ENDOFlist.
DATA:ok_codeLIKEsy-ucomm.
DATA:l_valid(1)TYPEc.
DATA:go_gridTYPEREFTOcl_gui_alv_grid.
DATA:gt_fieldcatTYPElvc_t_fcat,
gs_fieldcatTYPElvc_s_fcat,
slaTYPElvc_s_layo.
DATA:ls_fieldcatTYPElvc_s_fcat.
DATAls_styleTYPElvc_s_styl.
DATAls_cellcolorTYPElvc_s_scol.
DATAls_celltextTYPEalv_s_dtv.
*---------------------------------------------------------------------*
*CLASSlcl_event_receiverDEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASSlcl_event_receiverDEFINITION.
PUBLICSECTION.
METHODShandle_button_click
FOREVENTbutton_clickOFcl_gui_alv_grid
IMPORTINGes_col_id
es_row_no.
ENDCLASS."lcl_event_receiverDEFINITION
*---------------------------------------------------------------------*
*CLASSlcl_event_receiverIMPLEMENTATION
*---------------------------------------------------------------------*
*........*
*---------------------------------------------------------------------*
CLASSlcl_event_receiverIMPLEMENTATION.
METHODhandle_button_click.
PERFORMtestUSINGes_col_id
es_row_no.
ENDMETHOD."handle_f4
ENDCLASS."lcl_event_receiverIMPLEMENTATION
DATA:event_receiverTYPEREFTOlcl_event_receiver.
DATA:iiTYPEi.
START-OF-SELECTION.
CLEARls_fieldcat.
ls_fieldcat-fieldname='NAME1'.
ls_fieldcat-scrtext_l='NAME1'.
APPENDls_fieldcatTOgt_fieldcat.
CLEARls_fieldcat.
ls_fieldcat-fieldname='NAME2'.
ls_fieldcat-scrtext_l='NAME2'.
*ls_fieldcat-emphasize='C610'.
APPENDls_fieldcatTOgt_fieldcat.
CLEARls_fieldcat.
ls_fieldcat-fieldname='NAME3'.
ls_fieldcat-scrtext_l='NAME3'.
APPENDls_fieldcatTOgt_fieldcat.
list-name1='A'.
list-name2='ARE'.
ls_cellcolor-fname='NAME1'.
ls_cellcolor-color-col='5'.
ls_cellcolor-color-int='1'.
ls_cellcolor-color-inv='1'.
APPENDls_cellcolorTOlist-cellcolors.
APPENDlist.
list-name1='AA'.
list-name2='BB'.
ls_cellcolor-fname='NAME2'.
ls_cellcolor-color-col='3'.
ls_cellcolor-color-int='1'.
ls_cellcolor-color-inv='1'.
APPENDls_cellcolorTOlist-cellcolors.
APPENDlist.
list-name1='HOW'.
list-name2='ARE'.
list-rowcolor='C410'.
ls_style-fieldname='NAME3'.
ls_style-style=cl_gui_alv_grid=>mc_style_button.
*ls_style-style=cl_gui_alv_grid=>MC_STYLE_HOTSPOT.
APPENDls_styleTOlist-cellstyles.
ls_celltext-buttoncell='TEST'.
APPENDls_celltextTOlist-celltext.
APPENDlist.
sla-stylefname='CELLSTYLES'.
sla-ctab_fname='CELLCOLORS'.
sla-info_fname='ROWCOLOR'.
WRITE'a'.
CREATEOBJECTgo_grid
EXPORTING
i_parent=cl_gui_container=>screen0.
CREATEOBJECTevent_receiver.
SETHANDLERevent_receiver->handle_button_clickFORgo_grid.
CALLMETHODgo_grid->set_table_for_first_display
EXPORTING
*is_variant=gs_variant
i_save='A'
is_layout=sla
CHANGING
it_outtab=list[]
it_fieldcatalog=gt_fieldcat[]
EXCEPTIONS
invalid_parameter_combination=1
program_error=2
too_many_lines=3
OTHERS=4.
*&---------------------------------------------------------------------*
*&Formtest
*&---------------------------------------------------------------------*
FORMtestUSINGp_es_col_idTYPElvc_s_col
p_es_row_noTYPElvc_s_roid.
MESSAGEi899(fi)WITHp_es_col_id-fieldnamep_es_row_no-row_id.
ENDFORM."test
转自:http://blog.chinaunix.net/u1/40527/showart.php?id=344295
相关文章推荐
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 面向对象(OO)的ALV GRID设置颜色
- 面向对象(OO)的ALV GRID设置颜色(再续)
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- 如何设置'REUSE_ALV_GRID_DISPLAY'的单个单元格的颜色
- ALV列、行、单元格颜色设置
- ALV 设置每行的颜色
- 如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入[转]
- 如何设置REUSE_ALV_GRID_DISPLAY'的单个单元格的是否可以输入
- extjs grid设置某列背景颜色和字体颜色
- 设置ALV 行颜色
- 关于ALV GRID的颜色
- abap--关于在REUSE_ALV_GRID_DISPLAY将单元或行标识不同的颜色的处理收集
- [devexpress相关控件]在gridcontrol中怎样设置满足特定条件的行的颜色等风格
- ALV颜色设置