Table 组件使用指南:定制列字段过滤组件
2013-03-01 14:15
381 查看
开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。
默认情况下,ADF Table使用InputText作为列字段过滤组件,你可以根据需要换成其它的组件。
基本的实现方法就是:右键点击要定制Column,选择为其增加Filter Facet:
1. 使用带tips的InputText
为LastName字段增加Filter Facet:InputText。
运行效果如下:
2. 使用selectOnceChoice
为DepartmentId字段增加Filter Facet:SelectOneChoice。
(1)Department下拉列表要用到Tree Binding,因此手工增加一个。
(2)Tree Binding的定义如下:
(3)为了一次取出所有的Department,设置DepartmentsView1Iterator的RangeSize=-1,表示一次全部读出。
注意,这只适用于记录比较少的情况,如果记录比较多,应该使用LOV。
(4)向DepartmentId字段的Filter Facet中放置SelectOneChoice
最终的代码如下:
运行效果如下:
注意,这里有一个问题:第一次显示时,会有Blank Item,但是选择一个Department后,就没有Blank Item了。
这样用户就无法清空查询条件了,感觉是一个BUG。待查。
默认情况下,ADF Table使用InputText作为列字段过滤组件,你可以根据需要换成其它的组件。
基本的实现方法就是:右键点击要定制Column,选择为其增加Filter Facet:
1. 使用带tips的InputText
为LastName字段增加Filter Facet:InputText。
<f:facet name="filter"> <af:inputText id="it1" value="#{vs.filterCriteria.LastName}" shortDesc="Pls Input Filter for LastName"/> </f:facet>
运行效果如下:
2. 使用selectOnceChoice
为DepartmentId字段增加Filter Facet:SelectOneChoice。
(1)Department下拉列表要用到Tree Binding,因此手工增加一个。
(2)Tree Binding的定义如下:
(3)为了一次取出所有的Department,设置DepartmentsView1Iterator的RangeSize=-1,表示一次全部读出。
注意,这只适用于记录比较少的情况,如果记录比较多,应该使用LOV。
(4)向DepartmentId字段的Filter Facet中放置SelectOneChoice
最终的代码如下:
<f:facet name="filter"> <af:selectOneChoice value="#{vs.filterCriteria.DepartmentId}" id="soc1"> <af:forEach var="listrow" items="#{bindings.DepartmentsView1.rangeSet}"> <f:selectItem id="si1" itemValue="#{listrow.DepartmentId}" itemLabel="#{listrow.DepartmentName}"/> </af:forEach> </af:selectOneChoice> </f:facet>
运行效果如下:
注意,这里有一个问题:第一次显示时,会有Blank Item,但是选择一个Department后,就没有Blank Item了。
这样用户就无法清空查询条件了,感觉是一个BUG。待查。
相关文章推荐
- Table 组件使用指南之十二:定制列字段过滤组件
- Table 组件使用指南:列字段过滤功能
- Table 组件使用指南之十一:列字段过滤功能
- Table 组件使用指南之十五:使用POJO绑定并实现排序与过滤功能
- Table 组件使用指南之十八:自定义Date类型字段过滤器
- Table 组件使用指南:使用CheckBox组件保存和显示Boolean类型字段
- Table 组件使用指南:定制SelectionListener
- Table 组件使用指南之四:使用CheckBox组件保存和显示Boolean类型字段
- Table 组件使用指南之六:定制SelectionListener
- Table 组件使用指南:基于Table的CRUD
- Table 组件使用指南之十:设置宽度和高度
- Table 组件使用指南:使用Poll组件刷新Table
- Table 组件使用指南之九:修改默认排序规则
- Table 组件使用指南之十六:动态增加Column
- Table 组件使用指南之三:一次删除Table多行记录
- Table 组件使用指南之十七:根据EO的状态设置Row的背景色
- Table 组件使用指南:获取选中的Rows
- Table 组件使用指南之一:浏览与修改
- Table 组件使用指南之二:基于Table的CRUD
- Table 组件使用指南:一次删除Table多行记录