2010-06-03 35 views
2

我正在開發一個使用JSF,RichFaces,EJB3,Hibernate和Seam的Web應用程序。Richfaces可擴展的排序問題

我有一個擴展的數據表,並顯示一個列表(比如userList),其中有多列。而且,因爲這個數據表是可選的,所以即使用戶改變排序,我也想保留所選的行索引。

換句話說,我的意思是當列的排序改變時,行索引的順序也會改變。因此,我想在用戶每次點擊排序時調用一個動作。我嘗試了很多方法,但無法找到實現它的解決方案。

當您在豐富的extendeddatatable中單擊排序時,您是否有任何關於哪個偵聽器或方法被調用的想法?我不明白這點是什麼...

任何幫助,將不勝感激。 很多謝謝, Baris

+1

我注意到這個問題差不多2歲。你知道嗎,@巴黎燦?如果是的話,你可以在這裏發佈你的答案嗎? – Lisa 2012-04-18 07:14:24

+0

我真的不記得那麼抱歉:(但是我會利用這個oppurtunity來建議primefaces而不是richfaces,因爲它有更好的方便性,靈活性和易用性。 – Javatar 2012-04-29 22:41:09

+1

恐怕不能幫助那些通過預先存在被RichFaces鎖定的應用程序公司戰略。:) – Lisa 2012-04-30 07:17:57

回答

0

代碼示例本來不錯,但聽起來好像你有一個單獨的列表包含選定的索引,並且只在選擇事件上更新該列表。

你有沒有考慮通過一個bean具有選擇狀態實時與數據對象:

public DataBean { 
    private DataModel model; 
    private boolean selected; 

    //standard getters and setters omitted 
} 

JSF代碼:

<h:column> 
    <h:selectBooleanCheckbox value="dataBean.selected"> 
    <a4j:support event="onclick" ajaxsingle="true" /> 
    </h:selectBooleanCheckbox> 
</h:column> 

領帶選擇狀態,以這樣的模式和排序韓元」根本不是問題。

+2

非常感謝您的回覆。即使你的方法很好,但它確實與我的問題沒有直接關係。我只想知道如何在用戶單擊位於每列頂部的小排序箭頭時調用某個動作。 <豐富:列排序= 「真」 sortBy = 「#{cap.userId}」 \t \t \t \t filterBy = 「#{cap.userId}」 filterEvent = 「的onkeyup」 WIDTH = 「170像素」 ID =」 COL1" \t \t \t \t標籤= 「用戶ID」> \t \t \t \t \t \t \t \t \t的 \t \t \t \t \t \t Javatar 2010-06-04 06:25:48

+0

你所說的問題是,你正在失去你後行的選擇狀態排序... – Naganalf 2010-06-04 18:33:31

+1

擴展數據表不需要使用selectbooleancheckbox來保持選擇狀態。這就是爲什麼我不喜歡在我的情況下使用複選框這是浪費,而擴展tabel使用戶可以通過單擊行本身選擇一行。 所以在這裏的實際問題是,我正在同步擴展與從後臺bean獲取我的列表。我可以得到選定的行鍵。但是,當排序改變時,它不與我的結果列表中的行鍵匹配。 因此,如果我可以在用戶單擊排序箭頭時執行某個操作,則一切都會正常。如何執行排序操作? – Javatar 2010-06-05 17:16:30