我正在使用GWT 2.5.1。我有一個CellTable,我希望能夠通過多個列進行排序。基本上,我希望能夠進行組合排序。例如,我有4列。 ColA,ColB,ColC,ColD。當我點擊ColA時,它應該按該列進行排序。現在,按下shift鍵,如果我點擊ColB,ColA應該保留爲主要列,ColB應該成爲次要列。再次,如果點擊按住Shift鍵的Col D,則應先按ColA排序,然後按ColB排序,然後按ColD排序。我爲每一列寫了比較器。所以基本上,單列分類工作沒有任何問題。GWT中的多列排序CellTable
我試圖用可樂做
myTable.getColumnSortList().push(ColD);
myTable.getColumnSortList().push(ColB);
myTable.getColumnSortList().push(ColA);
ColumnSortEvent.fire(usersTable, usersTable.getColumnSortList());
但這只是排序。
有沒有人試圖做類似的事情?任何指針將非常感激。
編輯:
讓我簡化我的要求。可以說我有一個按鈕。點擊按鈕時,我想先按ColA排序列表,然後按ColB排序,然後按ColD排序。 ColB和ColD成爲次要分類欄。據我所知,myTable.getColumnSortList()只維護標題狀態,即表中所有列(每次只有一個,不同時)以及順序爲asc或desc排序的信息。即使我們做ColumnSortEvent.fire(usersTable,usersTable.getColumnSortList());它將只按列表中最新添加的列(單列排序)對列進行排序,並按該列的ColumnSortInfo對象確定的順序進行排序。
我的想法是實現多列排序像在下面的示例所示:http://www.datatables.net/examples/basic_init/multi_col_sort.html
我使用類似的代碼,它工作正常。你什麼時候開始排序事件? –
請參閱下面的說明。 – user3228621
該文檔明確指出:「ColumnSortList包含排序列的有序列表。」 - 列表,而不是單個列。 –