ALVレポートのデザイン色(行、列、セル)

カラムカラー:FIELDCATは、項目カタログのフィールドを強調することによって達成

線色:レイアウトはそれを記憶された表示色テーブルにフィールドを追加することによって達成

セルの色:レイアウトによって達成さは、テーブルは、テーブル内の表示メモリの色(:LVC_T_SCOLテーブル型)に添加します

基本的には同じ行に設けられたセルの色のカラーデザイン

1 ALVデータを含むテーブルでは、カラーコードを記録するために、CellColor内のテーブルを追加し、フィールド名の色を設定する必要がある
    FNAME ALVコントロール:CellColorの構造を内部テーブルフィールド名フィールド         
                            ALVコントロール:カラーコード      
         色構造である:
               COL ALVコントロール:色; 
               INT ALV制御:強化    1 / 0 ; 
               INV ALV制御:反対     1 / 0     セットカラー前景または背景         
    NOKEYCOL ALVコントロール:カラーカバーコード
2 周期表、カラーコードのセット。

REPORT Z1113。

TYPESBEGIN  OF。TYP_01、
        MATNR TYPE MARA- MATNR、
        ERNAMTYPE MARA- ERNAM、
        ERSDA TYPE MARA- ERSDA、
         COLOR  TYPE CHAR04、         
        CELLCOLOR TYPE LVC_T_SCOL、单元格颜色
      END  OF TYP_01。
 データ IS_CELLCOLOR TYPE LVC_S_SCOL。
 データ GT_01 TYPE STANDARD TABLE  OF TYP_01 WITH  HEADER  LINE データ IT_FIELDCAT TYPE LVC_T_FCAT WITH  HEADER  LINE DATAIS_LAYOUTTYPE LVC_S_LAYO。

DEFINE FIELDCATを。
  IT_FIELDCAT -COL_POS =&1 
  IT_FIELDCAT -FIELDNAME =&2 
  IT_FIELDCAT -SCRTEXT_L =&3 APPEND IT_FIELDCAT。
END-OF-DEFINITION 

START-OF-SELECTION SELECT MARA〜MATNR MARA〜ERNAM MARA〜ERSDA
     FROM MARA
     INTO  CORRESPONDING  FIELDS  OF  TABLE GT_01を。

END-OF-SELECTION 
  FIELDCAT ' 1 '  ' MATNR ' ' MATNR ' LOOP  AT IT_FIELDCAT。
    IF IT_FIELDCAT-FIELDNAME = ' MATNR ' 
      IT_FIELDCAT -EMPHASIZE = ' C710 ' MODIFY IT_FIELDCAT。
      CLEAR IT_FIELDCAT。
    ENDIF ENDLOOP 
  FIELDCAT ' 2 '  ' ERNAM '  ' ERNAM ' 
  FIELDCAT ' 3 '  ' ERSDA '  "ERSDA " 

  LOOP  AT GT_01。
  IF GT_01-MATNR = ' 000000000000000097 ' 
  GT_01 - COLOR = ' C610 ' MODIFYはgt_01。
  CLEAR GT_01。
  ENDIF IF GT_01-MATNR = ' 000000000000000129 ' 
  GT_01 - COLOR = ' C510 ' MODIFY GT_01。
  CLEAR GT_01。
  ENDIF IF   = GT_01-MATNR' 000000000000000153 ' 
  IS_CELLCOLOR -fname = ' MATNR ' " '153'の品目数は、線の色の'MATNR'フィールドは黄色である 
  IS_CELLCOLOR- COLOR -col = 3。 
  IS_CELLCOLOR - COLOR -INT = 1。 
  IS_CELLCOLOR - COLOR〜INV = 0 APPEND IS_CELLCOLOR TO GT_01- CELLCOLOR。
   MODIFY GT_01。
   CLEAR GT_01。
   ENDIF 

  ENDLOOP 

  IS_LAYOUT -CWIDTH_OPT = ' X ' 
  IS_LAYOUT -INFO_FNAME = ' COLOR ' 
  IS_LAYOUT -CTAB_FNAME = ' CELLCOLOR '单元格颜色内表字段
  のCALL  FUNCTION  ' REUSE_ALV_GRID_DISPLAY_LVC ' 
    EXPORTING 
     I_CALLBACK_PROGRAM                 = SY- CPROG 
      IS_LAYOUT_LVC    = IS_LAYOUT 
      IT_FIELDCAT_LVC = IT_FIELDCAT [] 

    TABLES 
      T_OUTTAB         = GT_01 []。
 *例外
*   PROGRAM_ERROR = 1 
*    OTHERS = 2 
IF SY-SUBRC <> 0 * ここでのハンドリングに適したエラーを実装
  ENDIFを

結果:

 

 

おすすめ

転載: www.cnblogs.com/xggnb/p/11977443.html