7

在我之前的项目中,我使用了 BeanItemContainer 和带有 GeneratedColumns 的 Table 来简单地显示一个显示搜索结果的自定义组件,例如 google。标题、日期、内容以垂直方式显示。就像它(桌子)一样可怕,它起作用了。

现在我想将 Grid 组件用于一个具有相同目标的新项目。该列将生成并包含一个自定义组件。

这适用于 Grid 吗?有没有更好的东西,比如可用的列表或中继器组件?任何带有自定义组件的单列示例?

除了简单的数据或按钮渲染器之外,Vaadin 似乎对任何事情都不屑一顾。

更新

看起来添加组件在Grid 7.5+中无法开箱即用

此外,网格单元喜欢只固定高度

ComponentRederer Add-on支持单元组件,但修复高度仍然是一个问题。

示例代码

 public class Result {
      String title;
      Date date;
      URL url;
      String description;
      List<String> tags;

      public Result (){}

 }

BeanItemContainer<Result> resultContainer = fetchResults(searchTerm);

我也使用了一个懒惰的容器,beanitem 是为了简单起见。

然后,我有一个 RecordResultComponent,它在以下布局中构造单个记录结果的布局:

 Title(link with Url)
 Date
 Description
 tag1 tag2 tag3 ...
4

1 回答 1

0

您可以使用 Grid 和GeneratedPropertyContainer

然后,您可以在自定义列上使用HtmlRenderer

我希望它有所帮助。:-)

于 2017-01-12T04:20:39.830 回答