将GXT Numberfield的小数分隔符更改为逗号

时间:2016-02-01 16:11:32

标签: forms gwt decimal number-formatting gxt

是否可以将GXT Numberfield的小数分隔符从点更改为逗号?我搜索并尝试了很多,但找不到解决方案。

当填充“FloatField”类型的表单字段时,如67,8所示,该字段的值将切换为67.8。所以字段用逗号来接受输入,但是显示它的NumberFormat是完全错误的。 我怎么能改变它?

先谢谢大卫。

1 个答案:

答案 0 :(得分:0)

好吧,没有人有答案,但我的一位同事遇到了同样的问题并解决了它。所以,如果将来有人会搜索它,这就是答案:

您可以创建自己的FloatField类并覆盖该行为。这个类(最简单的形式)就像这样:

 package org.example.myforms

 public class FloatField extends NumberField<Float> {

       /**
       * Constructor
       */
       public FloatField() {
             super(new NumberPropertyEditor.FloatPropertyEditor());
             init();
       }

       private void init () {
             // disply float values with comma as decimal seperator
             String pattern = "0.0;";
             super.setFormat(NumberFormat.getFormat(pattern));
       }
}

要使用此字段,例如在* .ui.xml中,您必须导入myform包:

<ui:UiBinder 
    ...
    xmlns:myform="urn:import:org.example.myforms"
    >

然后你可以使用它:

<myform:FloatField ui:field="field_1" allowDecimals="true"/>