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());
我有包含多列的 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());