2011-05-18 53 views
0

如何限制用戶可以在GXT網格單元格中輸入的小數位數。限制用戶可以在GXT網格單元中輸入的小數位數

我可以通過column.setNumberFormat(...)格式化列配置,但是這只是將值四捨五入爲定義的格式,例如, #。##,用戶可以輸入兩個以上的小數位。

我想限制輸入爲用戶類型,以便他/她只能輸入最多兩位小數。

最佳, - 托馬斯

回答

0

你要實現自定義驗證,並將其添加到字段:

  final ColumnConfig config = new ColumnConfig(); 
      config.setNumberFormat(NumberFormat.getFormat("#.##")); 
      final NumberField field = new NumberField(); 
      field.setPropertyEditorType(Float.class); // needed to convert from String to Number - default ist Double 
      field.setValidator(new com.extjs.gxt.ui.client.widget.form.Validator(){ 
       public String validate(Field<?> field, String value) { 
        if(value != null){ 
         final int index = value.indexOf('.'); 
         if(index > -1 && index < value.length() - 3){ 
          return "Maximum number of digits is 2!"; 
         } 
        } 
        return null; 
       } 
      }); 
      final CellEditor cellEditor = new CellEditor(field); 
      config.setEditor(cellEditor); 
相關問題