我在 Vaadin 网格中有几个列,它们只包含可排序容器中的项目的值,但由于需要自定义 HTML 标题标签,它们也被添加为生成的属性与值(value)。使用 Generated Property 和 HtmlRenderer 它可以正常工作并呈现良好,但使用它们会使所有列无法排序。对于表格,我认为这可以通过 CellStyleGenerator 来完成,但网格有几个优点。是否有解决此问题并使列再次可排序的解决方法?
将 HtmlRenderer 与 Converter 一起使用应该可以正常工作,但我需要对象引用本身,而不仅仅是 Converter 具有的字段,因为 html 标题标签需要包含一些元信息。
最佳答案
如果我正确理解你的问题,我最近偶然发现了同样的问题。
对我来说,为了使生成的列可排序,我需要覆盖方法 getSortProperties()
在提供 ValuGenerator<T>
时到 GeneratedPropertyContainer
:
GeneratedPropertyContainer container = new GeneratedPropertyContainer(originalContainer);
container.addGeneratedProperty("property-id", new PropertyValueGenerator<T>() {
[...]
@Override
public SortOrder[] getSortProperties(SortOrder order) {
return new SortOrder[] {order};
}
});
关于java - 具有生成的属性和排序的 Vaadin 网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33234858/