GWT CellTable排序 - 如何使用排序值?

时间:2018-01-08 10:52:21

标签: java sorting gwt

我创建了一个ListHandler并且我覆盖了其setComparator方法,以便在TextColumn中为每个CellTable提供基本的字母排序。

以下是一个这样的例子:

private void createTargetColumnSortHandler()
    {
    ListHandler<RegradeRule> targetColumnHandler = new ListHandler<RegradeRule>(resultsTableDataProvider.getList());
    targetColumnHandler.setComparator(this.targetPromotionColumn, new Comparator<RegradeRule>()
        {
        @Override
        public int compare(RegradeRule o1, RegradeRule o2)
            {
            if (o1 == o2)
                {
                return 0;
                }
            // Compare the name columns.
            if (o1 != null)
                {
                return (o2 != null) ? o1.getTargetPromotion().compareTo(o2.getTargetPromotion()) : 1;
                }
            return -1;
            }
        });
    this.resultsTable.addColumnSortHandler(targetColumnHandler);
    }

在GUI中,单击列以启动排序后,如何检索已排序的值?或者改写一下,存储排序值的是什么?在调试时我似乎无法捕获此单击事件(或找不到合适的breakpoint),因此我找不到已排序的值 - 例如,如果它是ListDataProvider中使用的我的CellTable

修改 CellTable完美呈现排序值。我只想使用排序值并导出到Excel(我可以导出未排序的值)

1 个答案:

答案 0 :(得分:0)

ListHandler将对您在构造函数中提供的列表进行排序。您已通过ListDataProvider支持的列表,因此您可以在那里找到您的排序列表:

resultsTableDataProvider.getList();