GWT celltable小部件中不同属性的java排序
我有一个具有以下属性(feature、Total、Pass、Fail)的celltable,还有一堆行。我想添加对按字母顺序排序(即文本)或按失败排序(整数)的支持。请注意,我不想同时按功能和表进行排序!我想把它们分别分类。我如何做到这一点
可以使用addColumnSortHandler方法添加列排序处理程序,但当我选择任何可排序的列时,就会触发此处理程序。如果我添加了超过1个列排序处理程序,所有比较器都会被触发。如何确保仅使用我单击的列对数据进行排序。i、 e.如果我单击功能标题,它应该按字母顺序排序。如果我单击Fail,它将按Fail排序。。等等
任何帮助都将不胜感激。多谢各位
下面是一段代码片段
final ListHandler<FeatureSummaryObject> failedColSortHandler = new ListHandler<FeatureSummaryObject>(dataProvider.getList());
failedColSortHandler.setComparator(failedCol, new Comparator<FeatureSummaryObject>() {
@Override
public int compare(FeatureSummaryObject o1, FeatureSummaryObject o2) {
return o1.getFailed() - o2.getFailed();
}
});
table.addColumnSortHandler(failedColSortHandler);
failedCol.setSortable(true);
ListHandler<FeatureSummaryObject> featureColSortHandler = new ListHandler<FeatureSummaryObject>(dataProvider.getList());
featureColSortHandler.setComparator(featureCol, new Comparator<FeatureSummaryObject>() {
@Override
public int compare(FeatureSummaryObject o1, FeatureSummaryObject o2) {
return o1.feature.compareTo(o2.feature);
}
});
table.addColumnSortHandler(featureColSortHandler);
featureCol.setSortable(true);
问候,
# 1 楼答案
我使用CellTable来显示文件列表(文件名、大小、Mime类型)。单击标题时,我可以使用以下代码按列进行单独排序:
首先,我将列标记为可排序:
然后,我为每一列添加一个create-a-ColumnSortHandler,并将其添加到表中,如下所示:
我添加了一些日志记录,并验证了是否触发了相应的排序处理程序(这意味着如果单击“文件名”,则只调用文件名排序处理程序)
希望这个示例代码能有所帮助。如果没有,请提供一些示例代码,以帮助我们更好地诊断问题