如何定义 CRUD 网格中的列?

How to define the columns in CRUD grid?

我需要定义哪些列应该出现以及它们在 CRUD 网格中的顺序。

  1. 如果我使用crud.getGrid().setColumns(...)那么编辑栏就不会出现。如果我在列表中包含 vaadin-crud-edit-column 然后我得到一个异常,因为这个列不存在(但我在那里看到它!)。

  2. 如果我删除不需要的列(反正很麻烦!)我仍然无法更改列顺序。

有什么办法可以解决这个问题吗?

要在 Crud 中将编辑列添加到网格,有一个辅助方法 Crud.addEditColumn(grid) 您还可以使用此方法将编辑列添加为第一列或最后一列,具体取决于您如何配置网格。

private void customGrid() {
    Grid<Person> grid = new Grid<>(Person.class);
    Crud<Person> crud = new Crud<>(Person.class, grid, createPersonEditor());

    PersonDataProvider dataProvider = new PersonDataProvider();
    crud.setDataProvider(dataProvider);

    grid.setColumns("firstName","lastName");
    Crud.addEditColumn(grid);

    add(crud);
}