Vaadin Crud UI。轴未正确排序

Vaadin Crud UI. Axes are not sorted correctly

为什么我的斧头是这样的?我目前如何对它们进行排序。 我正在使用 Vaadin Crud 组件(不是 Grid)。

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

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

Crud 组件在内部构建一个 Grid,其中的列是根据您传递给构造函数的 bean class 中存在的属性自动生成的(在您的情况下为 OpvUser)。根据 bean class 中属性的定义方式,列的顺序可能不合适。如果你想改变列的顺序,你可以在网格上调用setColumnOrder。对于您的示例,它应该看起来像这样:

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 docs for a full example, as well as the Grid API docs