Warm tip: This article is reproduced from serverfault.com, please click

java-瓦丁克鲁德 UI.轴未正确排序

(java - Vaadin Crud UI. Axes are not sorted correctly)

发布于 2021-12-06 13:32:27

为什么我会得到这样的斧头?我该如何对它们进行分类。我使用的是瓦丁克鲁德组件(不是网格)。

Crud<OpvUser> crud = new Crud<>(OpvUser.class, createUserEditor());
crud.getGrid().addItemDoubleClickListener(e -> crud.edit(e.getItem(), Crud.EditMode.EXISTING_ITEM));

UserDataProvider dataProvider = new UserDataProvider();
crud.setDataProvider(dataProvider);
dataProvider.refreshAll();
     .....
crud.getGrid().setSortableColumns();
crud.getGrid().removeColumnByKey("password");
crud.addThemeVariants(CrudVariant.NO_BORDER);
add(crud); 

在此处输入图像描述

Questioner
Sayer Arab
Viewed
0
Sascha Ißbrücker 2021-12-07 02:55:50

我假设你要更改列的顺序,因为这是从你发布的图像中脱颖而出的一件事。

Crud 组件在内部构建一个 Grid,其中的列是从传递给构造函数的 Bean 类中存在的属性自动生成的(在你的例子中)。根据 Bean 类中属性的定义方式,列的顺序可能不合适。如果要更改列的顺序,可以调用网格。对于你的示例,它应该如下所示:OpvUsersetColumnOrder

Grid<OpvUser> grid = crud.getGrid();
grid.setColumnOrder(
  // Columns keys are the exact property names of the bean class
  grid.getColumnByKey("id"),
  grid.getColumnByKey("firstName"),
  grid.getColumnByKey("lastName"),
  grid.getColumnByKey("email")
);

有关完整示例,请参阅 Crud 文档以及网格 API 文档