我正在研究战斧,我只想知道我是否使用<t:columns>
然后如何在单击该特定列的标题时对数据表进行排序来生成数据表,就像我们<t:commandSortHeader>
在普通<t:column>
属性中使用的一样。请帮助。
问问题
3797 次
2 回答
2
使用 at:datatable 你并不需要 t:commandSortHeader,除非你想自定义它用来排序的属性。
以下是你需要做的:
<h:form>
<t:dataTable
id="data"
value="#{BACKINGBEAN.DATA}"
var="item"
sortColumn="#{BACKINGBEAN.sortColumn}"
sortAscending="#{BACKINGBEAN.sortAscending}">
...
<t:column defaultSorted="true" sortable="true">
<f:facet name="header">
<h:outputText value="header text"/>
</f:facet>
<h:outputText value="#{item.property}" />
</t:column>
...
</t:dataTable>
</h:form>
然后在你的支持bean中:
private String sortColumn;
private boolean sortAscending;
使用默认的 getter/setter/lombok。它们只是为了让标签可以设置数据。
这是一个很好的参考: http ://wiki.apache.org/myfaces/Working_with_auto_sortable_tables
但是它错过了关于支持 bean 属性的讨论,而且<h:form>
即使你没有任何表单元素,它也需要被包装在 a 中。
于 2012-11-28T02:50:44.630 回答
1
一种可能性是使用 jQuery 插件排序。看这里
另一种是将t:dataTable与t:commandSortHeader一起使用,如您所描述的
<t:dataTable
id="data"
value="#{BACKINGBEAN.DATA}"
var="item"
...
sortable="true"
rows="10">
于 2010-03-26T10:43:52.353 回答