GXT NumberField不可编辑

时间:2010-12-28 09:56:30

标签: gwt gxt

我正在使用Gxt-2.2.0和GWT 2.0。 GXT Numberfileds不可编辑。

我可以为可编辑的NumberFields做些什么?

以下代码无望;

NumberField field = new NumberField();
field.setEditable(true);

2 个答案:

答案 0 :(得分:1)

我接受了GXT开发团队的回答。 简单的解决方案是将Gxt-2.2.0升级到GXT-2.2.1。这次升级解决了这个问题。

Source

答案 1 :(得分:0)

它是可编辑的,您的代码必须简单地工作,问题似乎与数字字段实现。

它只接受0-9中的字符,对于浏览器中的某些语言环境设置,它发送的字符不是0-9。您可以尝试其他浏览器(在我的情况下,它在IE中工作,而不是在Firefox中)

现在要解决您的问题,您必须通过调用以下方式设置它接受的字符:

// They are by default 0-9 change them to your locale numbers
field.setBaseChars("0123456789");

如果你不知道什么是区域设置编号字符,你可以在NumberField类中调试此方法(检查关键变量):

protected void onKeyPress(FieldEvent fe) {
    super.onKeyPress(fe);
    char key = (char) fe.getKeyCode();
    if (fe.isSpecialKey(lastKeyCode) || lastKeyCode == KeyCodes.KEY_BACKSPACE
        || lastKeyCode == KeyCodes.KEY_DELETE || fe.isControlKey()) {
      return;
    }
    if (!allowed.contains(key)) {
      fe.stopEvent();
    }
  }