我有一个vaadin Table
,想将所有具有数字类类型(例如BigDecimal
,Integer
,Double
)的列对齐。
可以使用以下命令为每个表格的列ID设置对齐方式:table.setColumnAlignment("username", 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/