使用vaadin-grid进行不区分大小写的排序



>我正在使用vaadin-grid组件作为视图,其中显示一些网格数据,包括文本。在文本列中,排序似乎不区分大小写。排序仅对以大写字母开头的文本进行,以小写字母开头的文本将被忽略。
我检查了 vaadin-grid-sorter 的 API 文档,它是在 vaadin-grid 中进行排序的辅助元素,但无法获得所需的结果。
请提出其他建议。帮助将不胜感激。

在将数据集设置为网格的items之前,您始终可以手动对数据集进行排序。

有关如何实现不区分大小写的排序,请查看:如何在 Javascript 中执行不区分大小写的排序?

编辑:如果您使用的是(远程 API(dataProvider(请参阅 https://vaadin.com/elements/vaadin-grid/html-api/elements/Vaadin.GridElement:使用函数数据提供程序延迟加载(,则在请求完成后,将使用 callback 函数作为其第二个参数调用提供程序函数。只需在将结果传递给该回调之前对结果进行排序即可。

使用 Vaadin 14(.1.25(,您可以对不区分大小写的排序,例如:

Column<MyObject> column = ...;
column.setComparator(new Comparator<MyObject>() {
    @Override
    public int compare(MyObject arg0, MyObject arg1) {
        return arg0.getText().compareToIgnoreCase(arg1.getText());
    }
});
container.setItemSorter(new CaseInsensitiveItemSorter());

这应该是您所需要的 - 至少对于 Vaadin 7 或 8,不确定大约 10。

最新更新