首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Vaadin7表排序标签列

Vaadin7表排序标签列
EN

Stack Overflow用户
提问于 2017-10-25 16:19:25
回答 2查看 338关注 0票数 1

我有一个包含多列的vaadin表。其中一列属于标签类。

代码语言:javascript
运行
复制
container.addContainerProperty(ID_COLUMN, Label.class, "");

我把它装满了

代码语言:javascript
运行
复制
referenceItem.getItemProperty(ID_COLUMN).setValue(new Label(new Integer(reference.getId()).toString()));

当我单击此表对表进行排序时,它会对数据排序如下

代码语言:javascript
运行
复制
1
10
100
2
200
7

因此,我尝试将类更改为Integer,然后它运行良好,但我得到的数字与逗号类似

代码语言:javascript
运行
复制
1
2
...
..
7,456
8,455

如何对数据进行数字排序而不使用逗号。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-25 21:45:41

我想出了办法。我在专栏中使用了Integer作为类,并使用了以下方法

代码语言:javascript
运行
复制
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
EN

Stack Overflow用户

发布于 2017-10-25 21:48:44

我已经有一段时间没有和Vaadin Table玩过了。

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

代码语言:javascript
运行
复制
container.addContainerProperty(ID_COLUMN, String.class, "");
referenceItem.getItemProperty(ID_COLUMN).setValue(""+reference.‌​getId());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46937436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档