2012-06-29 108 views
2

有沒有辦法使用tr:table對UI上顯示的初始數據進行排序?我知道有排序屬性可以在tr:column上定義,哪些用於排序表中的數據。默認排序tr:表?

但是這裏的要求是在頁面打開時使數據默認排序。有沒有辦法做到這一點,除了從後端排序表數據?

回答

2

不能默認排序表,但你必須以編程方式做到這一點。通過一些工作,你可以編寫一個可以從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列表。

1

據我所知:不!

你可以在這裏閱讀更多信息: "TRINIDAD-1491"

+0

這太糟糕了:( – SiB