Vaadin7 table 按数字对标签列进行排序

Vaadin7 table sort label column numerically

我有包含多列的 vaadin table。其中一列的标签为 class

container.addContainerProperty(ID_COLUMN, Label.class, "");

我把它填满了

referenceItem.getItemProperty(ID_COLUMN).setValue(new Label(new Integer(reference.getId()).toString()));

当我通过单击此 table 对 table 进行排序时,它会将数据排序为

1
10
100
2
200
7

所以,我尝试将 class 更改为整数,然后它工作正常,但我得到的数字带有逗号

1
2
...
..
7,456
8,455

如何让数据按数字排序且没有逗号。

我想通了。我在我的专栏中使用 Integer 作为 class 并使用以下

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);
        }
    };

好久没和 Vaadin 玩得开心了Table

有 属性 格式化程序、生成器等...但在这种情况下可能最简单的方法是:

container.addContainerProperty(ID_COLUMN, String.class, "");
referenceItem.getItemProperty(ID_COLUMN).setValue(""+reference.‌​getId());