2

有没有办法对 UI 上显示的初始数据进行排序tr:table?我知道有一些排序属性可以定义tr:column并用于对表中存在的数据进行排序。

但是这里的要求是在打开页面时默认对数据进行排序。除了从后端对表数据进行排序之外,有没有办法做到这一点?

4

2 回答 2

2

默认情况下,您无法对表格进行排序,但您必须以编程方式进行。通过一些工作,您可以编写一个可重用的PhaseListener,您可以从您的 JSF 页面控制它。

确保它只处理一个阶段(例如PhaseId.RESTORE_VIEW)并使用它来设置排序顺序setSortCriteria

List<SortCriterion> sortCriteria = new ArrayList<SortCriterion>(1);
String property = "myProperty";
boolean ascending = true;
sortCriteria.add(new SortCriterion(property, ascending));
myCoreTable.setSortCriteria(sortCriteria);

现在您只需<f:attribute/>在表上添加两个 s 即可传递属性名称和升序布尔值,这样您就可以为所有表创建一个可重用的侦听器。

在您的列表中,<tr:document>您可以拥有一个<f:attribute/>要处理的表 ID 列表。

于 2012-08-25T18:27:38.600 回答
1

据我所知:没有!

您可以从这里阅读更多信息: “TRINIDAD-1491”

于 2012-07-02T05:31:42.050 回答