gpt4 book ai didi

java - 对 GWT celltable Widget 中的不同属性进行排序

转载 作者:行者123 更新时间:2023-11-29 03:56:42 24 4
gpt4 key购买 nike

我有一个具有以下属性(特征、总计、通过、失败)的单元格表,并且我有一堆行。我想添加支持以按字母顺序按功能(文本)排序或按失败(整数)排序​​。请注意,我不想同时按功能和表格排序!我想按它们单独排序。我如何实现这一点?

可以使用 addColumnSortHandler 方法添加列排序处理程序,但是当我选择任何可排序的列时会触发此处理程序。如果我添加超过 1 个列排序处理程序,所有比较器都会被触发。如何确保只有数据按我单击的列排序。也就是说,如果我单击功能标题,它应该按字母顺序排序。如果我单击“失败”,那么它应该按失败排序......等等。

如有任何帮助,我们将不胜感激。谢谢

这是一段代码

        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);

问候,

最佳答案

我正在使用 CellTable 显示文件列表(文件名、大小、Mime 类型)。单击标题时,我可以使用以下代码按列单独排序:

首先我将列标记为可排序:

   urlColumn.setSortable(true);
mimeColumn.setSortable(true);
sizeColumn.setSortable(true);

然后我为每一列添加一个 ColumnSortHandler,并像这样添加到表中:

   // Add sorting for the Name column
ListHandler<Asset> urlSortHandler = new ListHandler<Asset>(dataProvider.getList());
urlSortHandler.setComparator(urlColumn, new Comparator<Asset>() {
public int compare(Asset o1, Asset o2) {
....
}
});
table.addColumnSortHandler(urlSortHandler);

// Add sorting for the Size column
ListHandler<Asset> sizeSortHandler = new ListHandler<Asset>(dataProvider.getList());
sizeSortHandler.setComparator(sizeColumn, new Comparator<Asset>() {
public int compare(Asset o1, Asset o2) {
....
}
});
table.addColumnSortHandler(sizeSortHandler);

// Add sorting for the Type column
ListHandler<Asset> mimeSortHandler = new ListHandler<Asset>(dataProvider.getList());
mimeSortHandler.setComparator(mimeColumn, new Comparator<Asset>() {
public int compare(Asset o1, Asset o2) {
...
}
});
table.addColumnSortHandler(mimeSortHandler);

我添加了一些日志记录并验证了适当的排序处理程序被触发(这意味着如果我单击文件名,只会调用文件名排序处理程序)。

希望此示例代码对您有所帮助。如果不是,请提供一些示例代码,这可能有助于我们更好地诊断问题

关于java - 对 GWT celltable Widget 中的不同属性进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6016305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com