Java rich:datatable中的默认排序列

Java rich:datatable中的默认排序列,java,jsf,sorting,datatable,richfaces,Java,Jsf,Sorting,Datatable,Richfaces,我有rich:dataTable,它有多个可排序的列 <rich:column sortBy="#{user.uid}"> ... <rich:column sortBy="#{user.sn}"> ... etc. ... ... 等 分拣工作正常。然而,当页面加载时,表总是按第一列排序。如何设置“默认”排序列?(例如,带有user.sn的列表)我想您必须对基础列表进行排序。默认情况下,该表的顺序与您作为值传递的列表相同。我不确定如何使用rich:dataTabl

我有rich:dataTable,它有多个可排序的列

<rich:column sortBy="#{user.uid}">
...
<rich:column sortBy="#{user.sn}">
...
etc.

...
...
等

分拣工作正常。然而,当页面加载时,表总是按第一列排序。如何设置“默认”排序列?(例如,带有user.sn的列表)

我想您必须对基础列表进行排序。默认情况下,该表的顺序与您作为值传递的列表相同。

我不确定如何使用
rich:dataTable
实现这一点。但我记住,我将类似的功能请求(表的单独排序)切换到
rich:extendedDataTable
。您可以在此处创建绑定并设置,例如,此属性:

{
"columnsVisibility":{"cCountry":"1","cProject":"1","cStatus":"1","cNumber":"1"},
"columnGroupingState":{"order":"ASCENDING","columnId":"cStatus"},
"columnsSizeState":{"cCountry":"98","cProject":"242","cStatus":"80","cNumber":"55"},
"columnsOrder":["cCountry","cProject","cNumber","cStatus"]
}

列的排序顺序由其sortOrder属性定义:无、升序或降序

默认情况下,此属性为“无”-因此最初表不会按任何列(或第一列)排序。它使用数据模型的排序

要定义初始排序列,请设置此列的排序器,例如。g


rich:dataTable、rich:scrollableDataTable和rich:extendedDataTable也是如此。

对于我来说,该属性称为sortOrder,但您是正确的。答案不正确,因为sortOrder=“升序”、“降序”或“无”将完成@Raimund提到的任务