java - Vaadin:网格重复数据

标签 java grid vaadin

我写了Grid,如图example .

public class MainView extends VerticalLayout {

    private final UserService userService;
    private Label label;
    private Grid<UserDto> grid;

    public MainView(UserService userService) {
        this.userService = userService;
        initComponents(userService);
    }

    private void initComponents(UserService userService) {
        initMainGrid(userService);
    }

    private void initMainGrid(UserService userService) {
        grid = new Grid<>(UserDto.class);

        grid.setItems(userService.getAll());

        grid.addColumn(UserDto::getId).setHeader("ID");
        grid.addColumn(UserDto::getUsername).setHeader("Имя пользователя");
        grid.addColumn(UserDto::getPassword).setHeader("Пароль");
        grid.addColumn(UserDto::getEmail).setHeader("email");
        grid.addColumn(UserDto::getPhone).setHeader("Телефон");
        grid.addColumn(UserDto::getActive).setHeader("Активен");

        add(grid);
    }
}

但是数据重复:

введите сюда описание изображения

正如我们所见,数据显示了两次。

请指教,哪里错了?如何解决?

最佳答案

通过Class反对Grid构造函数

这个构造函数grid = new Grid<>(UserDto.class);将根据 UserDto 的 setter 和 getter 自动添加列类(class)。

未通过 Class反对Grid构造函数

如果您想使用 addColumn 配置列方法,需要实例化Grid使用grid = new Grid<>();没有通过UserDto.class

关于java - Vaadin:网格重复数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59569011/

相关文章:

java - Java 双维数组

python - 如何找到线与网格的交点?

java - 坐标算法——绕中心旋转

java - 瓦丁日历 : How to display another atrribute on Event cell

java - 在单独的线程中将 VBO 发送到 GPU

java - 管理 HTTP 方法类型

java - 无法解析工件。缺少 : ---------- 1) org. codehaus.mojo :gwt-maven-plugin:jar:1. 3-SNAPSHOT

java - 在页面刷新时重新加载 Vaadin Portlet

java - XStream Java 对象到 XML 跳过一些字段

wpf - 项目宽度跟随控件宽度的列表框