具有生成属性和排序的Vaadin网格

时间:2015-10-20 10:59:57

标签: java gwt vaadin vaadin7 vaadin-grid

我在Vaadin网格中有几列只包含可排序容器中的项目值,但由于需要自定义HTML标题标记,因此它们也被添加为生成属性有价值的。使用Generated Property和HtmlRenderer,它可以正常工作并渲染,但使用它们会使所有列都不合格。使用Table,我可以使用CellStyleGenerator来完成,但Grid有几个优点。有没有解决方法来解决这个问题并使列再次排序?

将HtmlRenderer与Converter一起使用应该可以正常工作,但我需要对象引用本身而不仅仅是转换器所具有的字段,因为html title-tag需要包含一些元信息。

1 个答案:

答案 0 :(得分: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};
  }
});