Vaadin8 网格嵌套属性错误

斯蒂芬

我正在尝试创建一个带有嵌套属性的网格。但是我找不到在网格列中显示嵌套属性字段的方法。

    private Component buildGrid() {

        branchGrid = new Grid<>(Branch.class);
        branchGrid.setItems(DummyData.allBranches);
        branchGrid.setSelectionMode(Grid.SelectionMode.SINGLE);
        branchGrid.setSizeFull();
        branchGrid.getEditor().setEnabled(false);

        branchGrid.addComponentColumn((ValueProvider<Branch, Component>) branch -> {
            Button btnEdit = new Button(VaadinIcons.EDIT);
            btnEdit.addStyleName(MaterialTheme.BUTTON_CUSTOM + " " + MaterialTheme.BUTTON_BORDER);
            btnEdit.setDescription("Click for edit!");
            return btnEdit;
        }).setId("edit");

        branchGrid.setColumnOrder("edit", "branchId", "branchName", "email", "phone", "location", "owner", "active");

        return branchGrid;
    }


public class Branch {

    private String branchId; //yymmddHHmmSSS
    private String branchName;
    private String email;
    private String phone;
    private String location;
    private User owner;
    private boolean active;
}

public class User {

    private long userId;
    private String username;
    private String password;
    private String email; 
}

我只想在网格中显示 user.username。但在这段代码中,显示所有用户对象堆栈引用,否则。

像这样:com.meyrasoft.checkupbox.model.User@12703bc

斯蒂芬

这个解决方案有一个简单的方法。如果我们定义Grid <\Branch/> branchGrid,我们应该使用如下所示的 addColumn() 定义。

private Component buildGrid() {

        Grid<Branch> branchGrid = new Grid<>();
        branchGrid.setItems(DummyData.allBranches);
        branchGrid.setSelectionMode(Grid.SelectionMode.SINGLE);
        branchGrid.setSizeFull();
        branchGrid.getEditor().setEnabled(false);

        branchGrid.addComponentColumn((ValueProvider<Branch, Component>) branch -> {
            Button btnEdit = new Button(VaadinIcons.EDIT);
            btnEdit.addStyleName(MaterialTheme.BUTTON_CUSTOM + " " + MaterialTheme.BUTTON_BORDER);
            btnEdit.setDescription("Click for edit!");
            return btnEdit;
        }).setId("edit");

        branchGrid.addColumn(b -> b.getBranchId()).setCaption("Branch Id");
        branchGrid.addColumn(b -> b.getBranchName()).setCaption("Branch Name");
        branchGrid.addColumn(b -> b.getEmail()).setCaption("E-Mail");
        branchGrid.addColumn(b -> b.getPhone()).setCaption("Phone");
        branchGrid.addColumn(b -> b.getLocation()).setCaption("Location");
        branchGrid.addColumn(b -> String.valueOf(b.getOwner().getUsername())).setCaption("Owner");
        branchGrid.addColumn(b -> b.isActive()).setCaption("Active Status");

        return branchGrid;
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Vaadin8 迁移后的 Vaadin Widgetset 编译错误

来自分类Dev

Java、Vaadin 8、网格延迟加载

来自分类Dev

我可以用两个Vaadin版本在一个Maven项目(Vaadin7和Vaadin8)

来自分类Dev

嵌套网格中的ExtJS错误:无法读取null的属性'isGroupHeader'

来自分类Dev

在 Vaadin 8 中使网格的特定列可编辑

来自分类Dev

Vaadin 14-使用嵌套布局时网格消失

来自分类Dev

自动更新Vaadin 8中活页夹中相关计算属性的显示

来自分类Dev

嵌套表单未知属性错误

来自分类Dev

嵌套属性中的错误消息

来自分类Dev

嵌套表单未知属性错误

来自分类Dev

显示嵌套属性的验证错误

来自分类Dev

嵌套属性表单验证错误

来自分类Dev

获取财产的数组,属性(嵌套属性)的使用流的Java 8

来自分类Dev

Vaadin 在表格中添加网格

来自分类Dev

嵌套网格?

来自分类Dev

嵌套网格?

来自分类Dev

Vaadin 8 中的 JavaScriptComponentState

来自分类Dev

在ExtJS中用作网格列的动态属性(嵌套)

来自分类Dev

在ExtJS中用作网格列的动态属性(嵌套)

来自分类Dev

有没有办法在编辑模式下使用 Vaadin 8 网格在网格中设置单元格

来自分类Dev

Rails嵌套资源未知属性错误

来自分类Dev

嵌套表单呈现未知属性错误

来自分类Dev

表单中嵌套属性的无方法错误

来自分类Dev

Rails:模型接受嵌套属性错误

来自分类Dev

如何访问嵌套属性的验证错误?

来自分类Dev

Vaadin网格和最初排序的数据

来自分类Dev

Vaadin:带有IndexedContainer的网格中的图像

来自分类Dev

Vaadin-从多个对象到网格的数据

来自分类Dev

具有行索引的Vaadin流网格