如果我们使用,如何对数据表进行排序在JSF?

发布于 2024-08-26 20:26:15 字数 212 浏览 10 评论 0原文

我正在研究 tomahawk,我只想知道是否使用 生成数据表,然后如何在单击该特定列的标题时对数据表进行排序,就像我们使用的那样普通 属性中的 。请帮助。

I am studying tomahawk, I just want to know if I generate a datatable using <t:columns> then how to sort the dataTable on the click on the header of that particular column, like we are using <t:commandSortHeader> in normal <t:column> attribute. Kindly Help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

只是偏爱你 2024-09-02 20:26:15

使用 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;

使用默认的 getters/setters/lombok。它们只是让标签可以设置数据。

这是一个很好的参考:
但它错过了有关支持的

讨论bean 属性,而且即使您没有任何表单元素,也需要将其包装在 中。

Using a t:datatable you don't really need the t:commandSortHeader, unless you want to customise what property it uses to sort.

Here is what you need to get this working:

<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>

Then in your backing bean:

private String sortColumn;
private boolean sortAscending;

with default getters/setters/lombok. They are just so the tag can set data.

This is a great reference:
http://wiki.apache.org/myfaces/Working_with_auto_sortable_tables

But it misses the discussion about the backing bean properties, plus that it needs to be wrapped in a <h:form> even if you dont have any form elements.

拧巴小姐 2024-09-02 20:26:15

一种可能性是使用 jQuery 插件排序。看这里

另一种是t:dataTablet一起使用:commandSortHeader 正如您所描述的

<t:dataTable  
id="data"  
value="#{BACKINGBEAN.DATA}"  
var="item"  
...  
sortable="true"
rows="10">

One possibility is to use jQuery plugin sort. Look here

The other is to use t:dataTable together with t:commandSortHeader as you have described

<t:dataTable  
id="data"  
value="#{BACKINGBEAN.DATA}"  
var="item"  
...  
sortable="true"
rows="10">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文