我有一个带有多个可排序列的rich:dataTable。
<rich:column sortBy="#{user.uid}">
...
<rich:column sortBy="#{user.sn}">
...
etc.
排序很好。然而,当加载页面时,表总是按第一列进行排序。我如何设置";默认";排序列?(例如,用户.sn的
编辑:我想先按sn
排序,然后按uid
排序。
列的排序顺序由其sortOrder属性定义:NONE、ASCENDING或DESCENDING。
默认情况下,此属性为NONE,因此最初表不按任何列排序(也不按第一列排序)。它使用数据模型的排序。
要定义初始排序列,请设置该列的sortOrder,例如
<rich:column sortBy="#{user.sn}" sortOrder="ASCENDING">
对于rich:dataTable、rich:scrollableDataTable和rich:extendedDataTable也是如此。
我不知道如何使用rich:dataTable
。但我想,我将类似的功能请求(表的单独排序和排序)切换到了rich:extendedDataTable
。在那里,您可以创建到tableState的绑定,并设置例如以下属性:
{
"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"]
}
我想您必须对底层列表进行排序。默认情况下,该表将按照您作为值传递的列表进行排序。