【问题标题】:How to add data in table in Vaadin如何在 Vaadin 中的表中添加数据
【发布时间】:2016-09-06 11:57:27
【问题描述】:

您好,我是 Vaadin 的新手。

我正在使用 vaadin 的 Table 属性从域类加载数据,但我不知道如何为数据设置 table.additem。 我正在使用以下代码生成列值

Table table = new Table("Customer Table");
  table.addContainerProperty("Street", String.class, null);
    for(DomainClass domainClass :  domainClassList) {
           //     table.addItem(domainClass.getStreet());
    }
layout.addComponent(table);

但它显示的是空白页面。

【问题讨论】:

标签: vaadin vaadin7 grails-domain-class


【解决方案1】:

Vaadin 的最佳实践是使用容器。

final Table table = new Table("Customer Table");
final BeanItemContainer<DomainClass> container = new BeanItemContainer<>(
            DomainClass.class, domainList);
table.setContainerDataSource(container);

如果 DomainClass 有一个 getter getStreet(),那么它会自动映射到具有该名称的列。您仍然可以使用 table.setColumnHeader("street", "Street"); 手动设置表头

也许你觉得Vaadin's docs about Containers 也很有用。

【讨论】:

  • 这就是我正在搜索的内容,非常感谢 :)
  • 我收到错误 outOfMemory 消息:GC 开销限制超出
  • 如果您的对象列表非常大并且对象有很多成员,您可以使用延迟加载来节省内存并使用较小的对象,即 DTO。请在此处查看我的延迟加载演示:github.com/apm78/demo-lazyquerycontainer。它使用 LazyQueryContainer,这是 Vaadin 推荐的大型数据集容器。这是您可以在目录 (vaadin.com/directory) 中找到的插件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-16
  • 1970-01-01
  • 2017-07-18
  • 1970-01-01
相关资源
最近更新 更多