【发布时间】:2018-06-17 20:38:23
【问题描述】:
我正在尝试使用网格组件。我需要定义列的顺序,我正在使用这个项目: https://github.com/vaadin/tutorial/tree/v8-step4
我添加了这段代码:
Column name = grid.addColumn(customer -> customer.getFirstName() + " " + customer.getLastName())
.setCaption("Name")
.setSortOrderProvider(direction -> Stream.of(
new QuerySortOrder("lastName", direction)
));
grid.setSortOrder(GridSortOrder.asc(name));
但我没有得到预期的结果,我先按名字排序,然后按姓氏排序,但我需要按姓氏排序的结果。
你有同样的问题吗?你是怎么解决的?
谢谢。
【问题讨论】:
-
您的
Grid正在使用内存中的数据提供程序,例如ListDataProvider? -
您好,Steffen,感谢您的提问。我正在使用 setItems: List
customers = service.findAll(filterText.getValue()); grid.setItems(客户); -
好的,你设置默认排序列了吗?我的意思是,如果您不想单击列标题进行排序,则需要在初始化时在
Grid上调用setSortOrder。 -
我尝试添加一个,但无论是否使用 setSortOrder,我都会得到相同的结果:grid.setSortOrder(GridSortOrder.asc(name));
-
能否提供所有网格代码,包括客户 bean 代码?