2016-02-01 4 views
0

Можно ли изменить десятичный разделитель поля GXT Numberfield от точки до запятой? Я искал и много пробовал, но не могу найти решение.Изменение десятичного разделителя GXT Numberfield на запятую

При заполнении поля формы типа «FloatField» с номером 67,8 - значение поля переключается на 67.8. Таким образом, поля accecpts вводятся с запятыми, но NumberFormat для его отображения просто ошибочен. Как я могу это изменить?

Заранее спасибо, Дэвид.

ответ

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"/> 
Смежные вопросы