1. 程式人生 > >ADF:如何實現欄位值的轉換,並設定內容顏色

ADF:如何實現欄位值的轉換,並設定內容顏色

1.當建立工程時,先給欄位值添加了Lov,後做其他步驟,如新增VC等,建立好的頁面中會自動實現欄位值根據Lov的轉換,但是如果最後再新增Lov,就不會實現這個效果。

經過研究,發現了其中的原因:

原來,操作順序不同直接導致的結果是在頁面表格中產生的元件不同。如果是先建立了頁面,後新增的Lov,則頁面中的表格中顯示狀態的元件已經設定為了”outputText”;相反的,如果是先添加了Lov,再去生成頁面,則頁面中預設的狀態欄位元件為“selectOneChoice”。

正是這兩種元件,導致了顯示結果的不同。
outputText 的值就是欄位在資料庫中的值,所以顯示為轉換前的值。
selectOneChoice 元件和查詢中的單選框一樣,會根據欄位的Lov進行轉換,顯示的是設定的顯示內容,選定返回給該欄位的值是Lov中設定的返回值。

1)先生成了Lov後生成頁面時效果:
這裡寫圖片描述

2)將“狀態”欄位的 selectOneChoice 元件改為outputText 元件後的效果:
這裡寫圖片描述

  1. 接著給不同狀態的值賦予不同的顏色,又發現這兩個元件的不同之處:
    1)outputText 是在“InlineStyle”中通過寫判斷語句來指定顏色
    這裡寫圖片描述

這裡寫圖片描述

2)但是selectOneChoice 元件這是在 ContentStyle 中設定字型顏色的
這裡寫圖片描述

這裡寫圖片描述

總結:通過以上了解,就學到了兩種可以進行顯示值轉換的方法:
1)使用Lov,通過選擇元件,自動自行轉換
2)不用Lov,通過在VO的來源,如檢視中,新建一個新的欄位,這個欄位用來存放經過查詢獲得的想要的原值對應的值,在表格中源欄位下使用新欄位值來表現,就是轉換過的值了,這種元件就可以使用outputText。