有的時候,我們需要在 alv 網格上繪上一些顏色.可以給特定的行,某個特定的列,某個特定的單元格繪
制顏色.
如果某列被設定為關鍵列,這列的顏色將被自動繪製,而不需要我們額外的指定.,
alv的顏色是四位的如c710,第一位是固定死的c,第二位是顏色**,可能值為1-7,代表顏色如下:
1:gray-blue —>headers
2:light gray —>list bodies
3:yellow —>totals
4:blue-green—>key columns
5:green —>positive threshold value
6:red —>negative threshold value
7:orange —>control levels
後兩位是1和0的組合,10則代表顏色用在背景,01代表顏色用在前景。
設定列的顏色:
設定列的顏色可以在filedcat內錶中設定empasize欄位,如下:ls_fcat-emphasize = 『c701′.
設定行的顏色:
為某行設定顏色,是有點複雜的,我們需要在要顯示的資料內錶中增加乙個字段,這個字段
不需要在字段目錄中存在.同樣,這個欄位也是 4 位的 char 型,符合顏色編碼的定義.,然後
在布局設定中指定該列為顏色列,gs_layout-into_fname = 『color』.
然後設定在獲取資料後設定一下該列的值:
form p_data .
loop at gt_mara.
if gt_mara-matnr = 『100-100′.
gt_mara-color = 『c310′.
endif.
modify gt_mara.
endloop.
endform.
設定單元格的顏色:
設定單元格和設定行的顏色,本質上沒有什麼大的區別,但是定位單元格需要 2 個引數.我們需要在資料
內錶中插入乙個表型別的字段,這樣我們的資料內錶就變成了 deep 結構了,不過 alv 是可以處理的.不需
要擔心.
插入的這個表型別的型別為」lvc_t_scol」.
裡面有 3 個引數:
fname 告訴我們你需要設定的是哪個字段,如果為空,然後直接在 color 中設定顏色,就是整行設
置為這個顏色.如果具體到某個單元格,必須指定是哪個欄位.
color 欄位是用來設定顏色的.
nokeycol 字段比較關鍵了.設定為關鍵列的一些字段,我們的顏色設定可能被覆蓋.通過這個字段
的設定,可以避免被關鍵列的顏色被覆蓋.
同樣,alv 在布局中有個字段」ctab_fname」告訴我們,資料內錶中,哪個欄位是用來設定單元格的顏
色的,類似於設定行顏色的into_fname.
form p_data .
loop at gt_mara.
if gt_mara-matnr = 『100-100′.
gt_mara-color = 『c310′.」設定行的顏色
endif.
if gt_mara-matnr = 『100-401′.
clear gs_cellcolor.
gs_cellcolor-fname = 『mtart』.
gs_cellcolor-color-col = 『6′.
gs_cellcolor-fname = 『ersda』.
gs_cellcolor-color-col = 『7′.
endif.
modify gt_mara.
endloop.
endform.
ALV列 行 單元格顏色設定
1 顏色含義 1 海藍 2 淺清 3 黃色 4 淺藍 5 青色 6 紅色 7 橙色。1 首位為主顏色 2 次位為輔助顏色 3 末位為0時,表示首位數字表為 的底色 末位為1時,則表示以1為底色,首位數字則表為 字型的顏色 末位為其它顏色時,則表示底色為alv的預設顏色 以上三條是本人大概總結出來的規...
ALV列 行 單元格顏色設定
1 顏色含義 1 海藍 2 淺清 3 黃色 4 淺藍 5 青色 6 紅色 7 橙色。1 首位為主顏色 2 次位為輔助顏色 3 末位為0時,表示首位數字表為 的底色 末位為1時,則表示以1為底色,首位數字則表為 字型的顏色 末位為其它顏色時,則表示底色為alv的預設顏色 以上三條是本人大概總結出來的規...
ALV列 行 單元格顏色設定
自 1 顏色含義 1 海藍 2 淺清 3 黃色 4 淺藍 5 青色 6 紅色 7 橙色。1 首位為主顏色 2 次位為輔助顏色 3 末位為0時,表示首位數字表為 的底色 末位為1時,則表示以1為底色,首位數字則表為 字型的顏色 末位為其它顏色時,則表示底色為alv的預設顏色 以上三條是本人大概總結出來...