Vaadin Grid vs Table

时间:2015-05-08 23:51:42

标签: java datagrid vaadin vaadin7 vaadin-grid

Grid 7中的TableVaadin组件之间有什么区别?

我应该使用哪种,何时使用?

3 个答案:

答案 0 :(得分:15)

Grid是一个新的更强大的组件,它应该是Table的继承者(参见The Table is dead, long live the Grid)。因此,不应该有任何需要支持Table over Grid。

这是Vaadin aboout从Table迁移到Grid的系列文章中的第一篇: https://vaadin.com/blog/-/blogs/mission-rip-table-migrate-to-grid-basic

答案 1 :(得分:1)

实际上,可以用它们实现你想要的一切。但我的经验是,Grid使用起来更舒服。

易于理解且易于用于简单表格(您可能会猜到)。所以如果您只想显示几行可视化的数据 - 请使用表格。它很稳定且效果很好。

网格看起来像一张桌子,但它有一些针对表格的功能。如果要渲染大量数据,Grid可能会更好地处理它。还有一个良好的做法,即#34;内联编辑"你的数据。有一种方法可以广泛地自定义网格的标题。 如果您想在类似表格的组件中进行大量自定义和交互,请使用网格。

请参阅此处的功能:

https://vaadin.com/grid

http://demo.vaadin.com/sampler/#ui/grids-and-trees/grid

如何在这两个组件中选择行/单元格有所不同。 例如,用于选择的EventListeners与它们返回的值略有不同。 另外,向它们添加列和行的方式也有所不同,但这只是一个实现的事情,所以它并不重要。

答案 2 :(得分:0)

在过滤表中,如果我们点击表头,第一行将默认由名为 setSelectable(true); 的方法突出显示,但在网格表中没有这种类型的操作,< / p>

  

我想在网格表中应用相同的操作。拥有这种性质是否有可能?有没有可用的方法或代码?

以下是我在网格表中使用的代码:

private void buildPagedGrid(Class<T> clazz) {

     setWidth("100%");      
     setSelectionMode(SelectionMode.SINGLE);
     setImmediate(true);        
     setSizeFull();
     setContainerDataSource(dataSource);
     setFooterVisible(true);
}