首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vanilla GWT中的Vaadin网格排序

vanilla GWT中的Vaadin网格排序
EN

Stack Overflow用户
提问于 2015-04-13 23:18:23
回答 1查看 559关注 0票数 1

我有一个关于网格小部件的问题。这个小部件也可以在普通的GWT中通过"GWT-Widgets 7.4.3“下载获得。

但是,当您对列执行"setSortable(true)“时,唯一发生的事情是当单击它时,在表头中绘制一个排序方向的箭头。表本身不会重新排序。

此外,在具有列和方向的网格上执行排序方法也没有任何效果。

在vaadin https://vaadin.com/book/-/page/components.grid.html一书中,我提到了以下内容:“容器数据源必须支持排序。至少,它必须实现Container.Sortable。”

在Vaadin的书中,我看到使用了BeanItemContainer,但在"GWT-Widgets 7.4.3“中没有提供,因为这似乎是一个服务器组件。

所以它归结为这个问题:我如何在一个普通的GWT项目中启用Vaadin网格上的排序?

谢谢,弗兰克

EN

回答 1

Stack Overflow用户

发布于 2015-04-13 23:30:17

我没有使用Vaadin的经验,但在普通的GWT中,您会这样做(其中T是您的对象):

代码语言:javascript
复制
ListDataProvider<T> dataProvider = new ListDataProvider<T>();
List<T> displayItems = dataProvider.getList();
ListHandler<T> sortHandler = new ListHandler<T>(displayItems);

代码语言:javascript
复制
dateColumn.setSortable(true);
dateColumn.setDefaultSortAscending(false);
sortHandler.setComparator(dateColumn, new Comparator<Item>() {
    @Override
    public int compare(Item o1, Item o2) {
        if (o1.getDate() != null) {
            return (o2.getDate() != null) ?
                o1.getDate().compareTo(o2.getDate()) : 1;
        }
        return -1;
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29609001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档