有沒有辦法使用tr:table
對UI上顯示的初始數據進行排序?我知道有排序屬性可以在tr:column
上定義,哪些用於排序表中的數據。默認排序tr:表?
但是這裏的要求是在頁面打開時使數據默認排序。有沒有辦法做到這一點,除了從後端排序表數據?
有沒有辦法使用tr:table
對UI上顯示的初始數據進行排序?我知道有排序屬性可以在tr:column
上定義,哪些用於排序表中的數據。默認排序tr:表?
但是這裏的要求是在頁面打開時使數據默認排序。有沒有辦法做到這一點,除了從後端排序表數據?
不能默認排序表,但你必須以編程方式做到這一點。通過一些工作,你可以編寫一個可以從JSF頁面控制的可重用的PhaseListener
。
確保它只handles a single phase(例如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列表。
據我所知:不!
你可以在這裏閱讀更多信息: "TRINIDAD-1491"
這太糟糕了:( – SiB