Vaadin7表格排序标签列数字

时间:2017-10-25 16:19:26

标签: vaadin number-formatting vaadin7

我有多列的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

如何以数字方式对数据进行排序,而不是逗号。

2 个答案:

答案 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());