日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP ALV 颜色设置(行,列,单元格)

發布時間:2025/3/20 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP ALV 颜色设置(行,列,单元格) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于ALV表格顏色,這種需求在項目中會經常用到。

?

  • 列顏色

列的顏色很簡單,在構成ALV字段的FIELDCAT內表中有一個字段是EMPHASIZE,將一個char型4位的顏色代碼分配到FIELDCAT內表這個字段即可。

1 LW_FCAT-EMPHASIZE = 'C710'. "設置字段的顏色 2 3 MODIFY IT_FIELDCAT FROM LW_FCAT 4 TRANSPORTING EMPHASIZE 5 WHERE FIELDNAME = 'ESLRY'.
  • 行顏色

1. 在構成ALV數據的內表中,添加一個char型4位的字段(CLR),用來記錄顏色代碼

1 TABLES ZEMP_TEST. 2 3 TYPES: BEGIN OF TY_ZEMP. 4 INCLUDE STRUCTURE ZEMP_TEST. 5 TYPES: CLR TYPE CHAR4,"可以控制行顏色 6 END OF TY_ZEMP. 7 8 DATA: IT_ZEMP TYPE STANDARD TABLE OF TY_ZEMP, 9 IW_ZEMP TYPE TY_ZEMP.

?

2. 循環內表,設置顏色代碼

1 LOOP AT IT_ZEMP INTO IW_ZEMP. 2 "員工編號為‘3的行,顏色為紅色 3 IF IW_ZEMP-EMPID = '3'. 4 IW_ZEMP-CLR = 'C610'. 5 MODIFY IT_ZEMP FROM IW_ZEMP. 6 CLEAR IW_ZEMP. 7 ENDIF. 8 ENDLOOP.

3. LAYOUT結構中INFO_FIELDNAME的值指定為 CLR

IW_LAYOUT-INFO_FIELDNAME = 'CLR'. "行顏色代碼的字段
  • 單元格顏色

單元格顏色的設置與行顏色設計基本一致

1. 在構成ALV數據的內表中,添加一個內表 CellColor,用來記錄顏色代碼,需要設置顏色的字段名

1 TYPES: BEGIN OF TY_ZEMP. 2 INCLUDE STRUCTURE ZEMP_TEST. 3 TYPES: CLR TYPE CHAR4, 4 CELLCOLOR TYPE LVC_T_SCOL, "單元格顏色 5 END OF TY_ZEMP.

CellColor的結構:FNAME??????? ALV 控制: 內部表字段的字段名稱         

COLOR??????? ALV 控制: 顏色代碼?????COLOR是一個結構:COL????? ALV 控制: 顏色      

??????????????????????????????????????????????????????????????????????????? INT????? ALV 控制: 強化??? 1/0                                    

????????????????????????????????????????????????????????????????????????????INV????? ALV 控制: 相反??? 1/0??? 設置顏色是前景,或者是背景         

NOKEYCOL? ALV 控制: 覆蓋碼顏色

2. 循環內表,設置顏色代碼

1 LOOP AT IT_ZEMP INTO IW_ZEMP. 2 3 "員工編號為‘3’的行,顏色為紅色 4 IF IW_ZEMP-EMPID = '3'. 5 IW_ZEMP-CLR = 'C610'. 6 7 MODIFY IT_ZEMP FROM IW_ZEMP. 8 CLEAR IW_ZEMP. 9 10 ENDIF. 11 12 IF IW_ZEMP-EMPID = '2'. 13 IW_CELLCOLOR-FNAME = 'ENAME'. 14 "員工編號為‘2’的行的‘ENAME’字段顏色為 黃色 15 IW_CELLCOLOR-COLOR-COL = 3. 16 IW_CELLCOLOR-COLOR-INT = 1. 17 IW_CELLCOLOR-COLOR-INV = 0. 18 19 APPEND IW_CELLCOLOR TO IW_ZEMP-CELLCOLOR. 20 MODIFY IT_ZEMP FROM IW_ZEMP. 21 CLEAR IW_ZEMP. 22 23 ENDIF. 24 ENDLOOP.

?

3. LAYOUT結構中COLTAB_FIELDNAME的值指定為CELLCOLOR

IW_LAYOUT-COLTAB_FIELDNAME = 'CELLCOLOR'. "單元格顏色內表字段

最后在調用ALV函數時,設置layout,fieldcat參數

IS_LAYOUT = IW_LAYOUTIT_FIELDCAT = IT_FIELDCAT
  • ALV工具欄

可以自定義工具欄,或者添加標準ALV工具欄,然后去除一些不需要的功能,這樣可以保留標準工具欄的功能

1 DATA:BEGIN OF TAB OCCURS 0, 2 FCODE LIKE RSMPE-FUNC, 3 END OF TAB. 4 5 TAB-FCODE = '&OL0'.APPEND TAB. 6 TAB-FCODE = '&OAD'.APPEND TAB. 7 TAB-FCODE = '&AVE'.APPEND TAB. 8 9 SET PF-STATUS 'STANDARD_FULLSCREEN' OF PROGRAM 'SAPLKKBL' 10 EXCLUDING TAB IMMEDIATELY.

?

  • 求和
LW_FCAT-DO_SUM = 'X'. "立即求和,只有I,F,P類型的列可以求和

----------------------------------------------------------

?運行效果如下:


?

在SE38環境下的程序名輸入欄輸入’DEMO*’后按F4,你可以查到SAP所有的DEMO示例程序,會學到很多ABAP功能的實現方法,

輸入’BCALV*’后按F4,你可以查到很多ALV示例程序。

?

附:ALV的顏色代碼:http://blog.csdn.net/wren2004/article/details/3941551

  

總結

以上是生活随笔為你收集整理的ABAP ALV 颜色设置(行,列,单元格)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。