在我之前的项目中,我使用了 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 ...