我有多列的vaadin表。其中一列是标签类
container.addContainerProperty(ID_COLUMN, Label.class, "");
我填写了
referenceItem.getItemProperty(ID_COLUMN).setValue(new Label(new Integer(reference.getId()).toString()));
当我通过单击此表对表进行排序时,它会对数据进行排序,如
1
10
100
2
200
7
所以,我尝试将类更改为Integer,然后它工作正常,但我用逗号得到数字
1
2
...
..
7,456
8,455
如何以数字方式对数据进行排序,而不是逗号。
答案 0 :(得分:1)
我能弄清楚。我使用Integer作为我的列的类,并使用了以下
referenceTable = new Table()
{
@Override
protected String formatPropertyValue(final Object a_row_id, final Object a_col_id, final Property<?> a_property)
{
if (a_property.getType() == Integer.class && null != a_property.getValue())
{
DecimalFormat df = (DecimalFormat) DecimalFormat.getInstance(getLocale());
df.applyLocalizedPattern("#0");
return df.format(a_property.getValue());
}
return super.formatPropertyValue(a_row_id, a_col_id, a_property);
}
};
答案 1 :(得分:0)
我已经有一段时间了,因为我和Vaadin一起玩Table
。
有属性格式化程序,生成器等......但在这种情况下,它可能最简单:
container.addContainerProperty(ID_COLUMN, String.class, "");
referenceItem.getItemProperty(ID_COLUMN).setValue(""+reference.getId());