物件導向(OO)的ALV GRID設定顏色

來源:互聯網
上載者:User

   
在平時的ALV開發中,客戶有些特殊的需求,需要在ALV的網格中繪上一些特殊的顏色,方便他們在第一時間看到自己想要看到的東西,如果沒有這些顏色的設
置,要從一大堆顯示的資料中找到自己關心的東西,估計會比較難,下面我將給大家介紹在ALV GRID中設定列、行、儲存格的顏色:
1)列的顏色設定

列的顏色設定相對來說會比較簡單,因為在欄位目錄的類型LVC_S_FCAT中提供了對列顏色設定的欄位


EMPHASIZE來實現:
如:w_fcat type lvc_s_fcat.
w_fcat-

EMPHASIZE = 'C701'.
在使用的過程有個問題要注意,就是如果當前設定顏色的列為關鍵(KEY)列,則設定的顏色就不會起作用了.
2)行的顏色設定

為某行顏色的設定,實現起來相對列的設定有點複雜,需要在顯示的內表中添加一個欄位用於顯示顏色,這個欄位不需要在欄位目錄中設定,實現如下所示:
如:data: begin of t_itab occurs 0,
.......(欄位)
rowcolor(4) type c,    "新添加用欄位於設定行的顏色
end   of t_itab.
添加了用於設定顏色的欄位,ALV如何知道你設定了顏色了呢,這個嘛就在ALV的布局類型有個欄位info_name進行通知ALV設定了顏色的:(這一步很重要哦)
如:s_lay type lvc_s_layo.
s_lay-info-name = 'ROWCOLOR'.
   " ROWCOLOR就是上面在顯示輸出的內表中添加的欄位。
以上兩步都搞定了,那下來就是要CODING設定那些行要設定顏色了:
如:loop at t_itab.
if t_itab-a eq '1'.
t_itab-rowcolor = '4'.       "設定顏色
modify t_itab.
endif.
endloop.
有些人在網上介紹的時候需要調用重新整理才能顯示設定顏色出來,經過我的測試,其實不然!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.