2017-10-25 14 views
1

私は複数の列を持つvaadinテーブルを持っています。柱の一つは、ラベルクラスのVaadin7テーブルソートラベルカラム数値で

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

であると私は、このテーブルをクリックしてテーブルをソートするとき、それは

1 
10 
100 
2 
200 
7 
などのデータをソート

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

のようにそれを埋めます

クラスをIntegerに変更しようとしましたが、うまくいきましたが、コンマで数値を取得します

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

データを数値でソートし、カンマを使用しないようにするにはどうすればいいですか?

+0

が_IがInteger_にクラスを変更しようとしました。どのように正確に、 'container.addContainerProperty(ID_COLUMN、Integer、" ");'のように?また、 'referenceItem.getItemProperty(ID_COLUMN).setValue(new Integer(reference.getId()));' – pirho

+0

が' Vaadin7'? – user1631306

+0

のように ' – pirho

答えて

1

私は把握できました。私は私のコラムのためのクラスとして整数を使用し、私はVaadin Tableで楽しんでされているので、それはしばらくしている

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

を次のように使用しました。

は、プロパティフォーマッタ、発電機等...のものがありますが、この場合にはそれだけでするのが最も簡単かもしれません:

container.addContainerProperty(ID_COLUMN, String.class, ""); 
referenceItem.getItemProperty(ID_COLUMN).setValue(""+reference.‌​getId()); 
関連する問題