이 그것을 위해 생성 된 열을 사용
table.addGeneratedColumn("index", new ColumnGenerator(){
@Override
public Object generateCell(final Table source, final Object itemId, final Object columnId)
{
Container.Indexed container = (Container.Indexed) source.getContainerDataSource();
return Integer.toString(container.indexOfId(itemId));
}
});
// add it to the start of the visible columns
table.setVisibleColumns("index", /* other columns ... */);
당신은 컨테이너에서 행 번호를 얻을. 그러나 테이블은 인덱스 하위 인터페이스 (예 : BeanItemContainer 또는 IndexedContainer)를 구현하는 컨테이너에서 작동해야합니다.
이것은 당신이 그리드를 사용 할 것입니다 :
// the GeneratedPropertyContainer is a decorator for the original container
final GeneratedPropertyContainer gpc = new GeneratedPropertyContainer(container);
grid.setContainerDataSource(gpc);
gpc.addGeneratedProperty("index", new PropertyValueGenerator<String>(){
@Override
public String getValue(final Item item, final Object itemId, final Object propertyId)
{
// get the index from the original container
final Container.Indexed indexContainer = (Container.Indexed) container;
return Integer.toString(indexContainer.indexOfId(itemId));
}
@Override
public Class<String> getType()
{
return String.class;
}
});
// ...
grid.setColumnOrder("index", /* the other property IDs... */);
당신이 PropertyValueGenerator<Long>
당신이 그 유형에 대한 NumberRenderer
을 설정해야 사용합니다. grid.getColumn("index").setRenderer(new NumberRenderer("%d"));
트릭을 할 것입니다.
가장 간단한 방법은 SQL 쿼리를 수정하여 now number –