Vaadin自定义表头

时间:2010-11-24 13:11:48

标签: model-view-controller vaadin

我想为Vaadin表构建自定义过滤头。

您能否提供一些示例或解决方案来解决这个问题。

我想添加一个组合框或复选框,用于优化表格中的搜索,如Excel列。

3 个答案:

答案 0 :(得分:5)

我们也遇到了在项目中为Vaadin Table添加自定义过滤器的问题。

作为解决方案,我们在表格上方添加了动态过滤器表单。它已经变得灵活和敏捷,足以应用过滤器。

我们创建了Vaadin Addon以分享我们的解决方案 - Lexaden Grid。

您可以通过以下链接找到更多信息:

http://www.lexaden.com/main/entry/lexaden_grid

答案 1 :(得分:3)

目前很难添加自定义组件来对表头进行过滤。它需要你通过继承/复制和粘贴制作你自己的Table版本(不确定什么是足够的),这是大多数人如果可能的话,目前不应该避免的。 Table组件的当前实现是Vaadin最复杂的组件之一。如果你坚持将组件放在标题中,那么这是可行的,但是要准备一些认真思考才能让事情发挥作用。

我建议在容器中过滤数据,其中组件位于表的下方/上方。如果没有显示关键信息,有时可以接受隐藏表头。如果你想在标题上准确地找到一些东西,那么在正确的位置需要一些空标题和CSS定位组件。

您始终可以将表和其他过滤组件分组到一个CustomComponent以便于抽象。

答案 2 :(得分:2)

Book of Vaadin是vaadin实现的非常好的参考。该链接包含一个示例代码,如:

// Define the properties
table.addContainerProperty("lastname", String.class, null);
table.addContainerProperty("born", Integer.class, null);
table.addContainerProperty("died", Integer.class, null);
// Set nicer header names
table.setColumnHeader("lastname", "Name");
table.setColumnHeader("born", "Born");
table.setColumnHeader("died", "Died");

这是你要求的吗?如果不是,请您更清楚地说明您的问题吗?

编辑:Vaadin Sampler还包含少量代码示例。