2009-04-10 18 views
0

我有一个Web应用程序广泛使用GXT(版本1.2.2)网格。我想提醒用户,如果他们进行更改但不保存。用户离开GXT电网时可以捕获什么事件?

当我在弹出的对话框中使用网格时,用户离开的唯一方法是通过一个按钮(Close或OK)。如果我添加一个SelectionListener到关闭按钮,我可以做我的“isDirty()”检查并警告用户。

如果我不使用对话框,则离开页面的限制不存在。用户可以点击一个侧面菜单,选择一个不同的选项卡,点击每个页面上的刷新或下一页按钮。我可以听取每个人的事件,但有没有更简单的方法?类似于“被卸载”事件被触发的事情?

回答

0

Window.addCloseListener

或者在GWT 1.6:

Window.addCloseHandler

你无法阻止关闭窗口,但可以提示用户点击取消,这将离开该页面打开。您也可以在用户选择确认窗口关闭后,但在页面卸载之前执行最后一次保存操作。

+0

我尝试这样做,但它没有工作,我假设,因为窗口没有关闭。我只是去另一个网格或选项卡或页面。 – CoverosGene 2009-04-10 20:28:47

0

试试这个:

Window.addListener(Events.Close, 
    new Listener<ComponentEvent>() { 
      public void handleEvent(ComponentEvent be) { 
       //Do something 
      } 
}); 

Window.addListener(Events.Detach, 
     new Listener<ComponentEvent>() { 
       public void handleEvent(ComponentEvent be) { 
        //Do something 
       } 
    }); 
相关问题