2009-04-10 78 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 
       } 
    }); 
相關問題