我有很多:带有多个可排序列的dataTable。
<rich:column sortBy="#{user.uid}">
...
<rich:column sortBy="#{user.sn}">
...
etc.
排序工作正常。但是,加载页面时,表始终按第1列排序。如何设置“默认”排序列? (例如,带有user.sn的那个)
答案 0 :(得分:14)
列的排序顺序由其sortOrder属性定义:NONE,ASCENDING或DESCENDING。
默认情况下,此属性为NONE - 因此,最初表不会对任何列(也不是第一列)进行排序。它使用数据模型的排序。
要定义初始排序列,请设置此列的sortOrder,e。 G。
<rich:column sortBy="#{user.sn}" sortOrder="ASCENDING">
对于rich:dataTable,rich:scrollableDataTable和rich:extendedDataTable也是如此。
答案 1 :(得分:1)
我不确定如何使用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"]
}
答案 2 :(得分:0)
我想你必须对基础列表进行排序。默认情况下,表将按照您作为值传递的列表进行排序。