В 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, независимо от того, как я сортирую строки.
Спасибо.