3

我在 Vaadin 网格中有几列,它们只包含可排序容器中的项目的值,但它们也被添加为生成的属性,因为需要自定义 HTML 标题标签才能与值一起使用. 使用 Generated Property 和 HtmlRenderer 它可以正常工作并渲染,但使用它们会使所有列无法排序。我认为使用表格可以使用 CellStyleGenerator 完成,但网格有几个优点。是否有任何解决方法来解决此问题并使列再次可排序?

否则,将 HtmlRenderer 与 Converter 一起使用应该可以工作,但我需要对象引用本身,而不仅仅是 Converter 具有的字段,因为 html 标题标签需要包含一些元信息。

4

1 回答 1

2

如果我正确理解了您的问题,我最近偶然发现了同样的问题。


对我来说,为了使生成的列可排序,我需要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};
  }
});
于 2016-12-21T14:17:40.027 回答