1

我有一个简单的 GXT 对话窗口,带有 2 个按钮,“确定”和“取消”。当按下 OK 按钮时,我验证字段不为空,并且我想阻止对话框窗口关闭,但我无法弄清楚如何关闭。这就是我所拥有的

super.getButtonById(Dialog.OK).addSelectionListener(new SelectionListener<ButtonEvent>() {
        @Override
        public void componentSelected(ButtonEvent ce) {
            if(netScanName.getValue() == null) {
                Util.alert("All fields are required!");
                return;
            }
        }
    });

该事件正确触发,因为我收到了窗口警报,但随后对话框继续以任何方式关闭。有什么建议么?

4

1 回答 1

1

您使用的是 GXT 3.0.x 吗?

使用 GXT 3.0.x 我将通过设置解决您的请求

dialog.setHideOnButtonClick(false);

要管理对话框的关闭,请使用以下代码:

dialog.getButtonById(PredefinedButton.OK.name()).addSelectHandler(new SelectHandler() {
  @Override
  public void onSelect(SelectEvent event) {
    if (netScanName.getValue() == null) {
      Util.alert("All fields are required!");
    } else {
      dialog.hide();
    }
  }
});

不知道这段代码是否适用于早期版本的 GXT。

于 2013-08-18T12:17:00.543 回答