2

我正在实现一个 GWT CellTable,它具有动态分页和多列排序的功能。可以在CellTable Developer's Guide中找到基础知识。

但是,动态示例并没有说明如何找出用户想要排序的列(它只是按“名称”列排序)。就我而言,这还不够,因为我希望允许用户按不同的列进行排序。

我能想到的唯一不是很优雅的解决方案是跟踪哪一列是否按升序排序(使用table.getColumnSortList(indexOfColumn).isAscending()),然后通过比较每一列的值(更改的可能是用户单击的内容)。

这涉及将信息保存在我的课程中,这些信息应该在 CellTable 的某个地方可用!但是我找不到那个信息!

谢谢你的帮助。

4

1 回答 1

3

我找到了答案。正如javadocs中解释的那样com.google.gwt.user.cellview.client.ColumnSortList

包含表中列的排序历史的有序列表。第 0 项是最近排序的列的 ColumnSortInfo。

因此,要知道最后按哪一列排序,您只需执行以下操作:

ColumnSortInfo info = table.getColumnSortList().get(0);
Column<Type> sortByColumn = info.getColumn();  
于 2012-06-07T05:01:37.623 回答