0
如何限制用戶可以在GXT網格單元格中輸入的小數位數。限制用戶可以在GXT網格單元中輸入的小數位數
我可以通過column.setNumberFormat(...)格式化列配置,但是這只是將值四捨五入爲定義的格式,例如, #。##,用戶可以輸入兩個以上的小數位。
我想限制輸入爲用戶類型,以便他/她只能輸入最多兩位小數。
最佳, - 托馬斯
如何限制用戶可以在GXT網格單元格中輸入的小數位數。限制用戶可以在GXT網格單元中輸入的小數位數
我可以通過column.setNumberFormat(...)格式化列配置,但是這只是將值四捨五入爲定義的格式,例如, #。##,用戶可以輸入兩個以上的小數位。
我想限制輸入爲用戶類型,以便他/她只能輸入最多兩位小數。
最佳, - 托馬斯
你要實現自定義驗證,並將其添加到字段:
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);