我有一个 vaadin Table
并希望对齐所有具有数字类类型的列(例如 BigDecimal
、Integer
、向右加倍
。
可以设置每个表列 id 的对齐方式:
table.setColumnAlignment("用户名", Align.RIGHT);
但我更喜欢按类类型设置对齐方式。这可能吗?
最佳答案
您可以覆盖 setVisibleColumns
方法:
new Table() {
@Override
public void setVisibleColumns(Object... visibleColumns) {
super.setVisibleColumns(visibleColumns);
for (Object propertyId : visibleColumns) {
setPropertyAlignment(propertyId);
}
}
private void setPropertyAlignment(Object propertyId) {
Class<?> clazzProperty = getContainerDataSource().getType(propertyId);
if (clazzProperty.isAssignableFrom(Number.class)) {
super.setColumnAlignment(propertyId, Align.RIGHT);
}
else {
super.setColumnAlignment(propertyId, Align.LEFT);
}
}
}
关于java - 在 vaadin 表中按类类型对齐所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23779499/