oracle adf 自定义lov,Oracle ADF table列自定义过滤组件的方法
shortDesc="#{bindings.Pay0detailVO1.hints.Vsource.tooltip}" id="soc41"
contentStyle="width:100px;" value="#{vs.filterCriteria.Vsource}">
正常拖拽過來的af:table組件的過濾行的查詢區域只是文本輸入域.
如圖:
,
但是如果設計要求是在新建行上進行編輯的話,如果某些列是搜索幫助或下拉框的形式,在過濾區域進行文本過濾則得不到想要的結果
如圖:
在過濾結算方向代碼列時 單純輸入支付增加則過濾不出想要的結果.因為 每一行的數據都是來自數據庫中的字典項.
并且,本列存儲的值是字典項代碼,而在UI上顯示的是字典項名稱.所以 在過濾時其實是輸入01 02 03這樣的數據字典代碼才能得到想要的結果
但是用戶不會知道字典代碼.所以現在要實現如下圖的效果
則在過濾區域進行下拉框讀取數據庫字典項來篩選能滿足需求.
操作方法如下:進入頁面的pagedefine.xml
新增一個下拉框List如圖:
選擇第二項select one value list that update a base data source
之后選擇model driven?List找到該字段的LOV
在XML生成的代碼如下 ,熟練的話以后直接COPY就行
SelectItemValueMode="ListObject" NullValueFlag="start"/>Users是使用的LOV的名稱 IterBinding是使用哪個table的迭代
頁面定義文件完成后,就可以在頁面上畫過濾下拉框了,在column域有f:facet name = "filter" 屬性
用法:
shortDesc="#{bindings.Pay0detailVO1.hints.Vsource.tooltip}" id="soc41"
contentStyle="width:100px;" value="#{vs.filterCriteria.Vsource}">
這里value值要綁定到vs.filterCriteria.需要的字段;
如圖為什么要有
則會出現過濾區域選擇好情況,但是回不到當初空白的現象;
so 在f:selectItems前加上f:selectItem且 itemvalue=""
該為實現自定義過濾組件的一個關于下拉框的例子.
總結
以上是生活随笔為你收集整理的oracle adf 自定义lov,Oracle ADF table列自定义过滤组件的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《瘟疫传说:安魂曲》10月18日发售:全
- 下一篇: 国际油价高位回调:下周国内成品油价或下调