在 vaadin7 中,我使用 GeneratedPropertyContainer 来执行此操作,例如添加行号:
wrappedContainer = new GeneratedPropertyContainer(_container);
wrappedContainer.addGeneratedProperty("#",
new PropertyValueGenerator<Integer>() {
@Override
public Integer getValue(Item item, Object itemId, Object propertyId) {
return (int) _container.indexOfId(itemId) + 1;
}
@Override
public Class<Integer> getType() {
return java.lang.Integer.class;
}
}
);
setContainerDataSource(wrappedContainer);
在 vaadin8 中,由于 GeneratedPropertyContainer 已被弃用,我尝试这样做:
grid.addColumn((v)->((List)_container.getData().getItems()).indexOf(v)+1);
但是索引是静态的,当我对行进行升序和降序排序时,行号也在移动。
我需要的是第一行是第 1 行,最后一行是第 N 行,无论我如何对行进行排序。
谢谢。