2015-03-02 94 views
0

我是使用Ext的新手,可以使用一些幫助獲取應用程序的工作。我正在製作一個應用程序,它根據從數據庫進來的數據動態創建一個Model和Store。我有這個工作,但現在我試圖實現搜索功能,這需要我每次用戶啓動搜索時刷新商店。無法更新商店

當裝載GridPanels和商店,我創建使用

store.ID = "store-" + categoryID; 

要重新加載存儲的ID,我用直接法與下面的代碼嘗試:

​​

重新加載沒有任何錯誤,但它似乎沒有影響任何東西。當我瀏覽代碼時,「商店」似乎沒有帶回任何數據。我也試圖與下面創建的標記按鈕:

<ext:Button ID="Button1" runat="server" Text="Click Me" Icon="Lightning"> 
        <Listeners> 
         <Click Handler="#{store-category}.store.reload();" /> 
        </Listeners> 
       </ext:Button> 

上面的代碼返回「未定義無法準備屬性的‘刷新’」。有人能指出我做錯了什麼嗎?這不是你應該重新加載商店的方式嗎?

感謝

+0

錯誤......不應該是'.Reload()'而不是'.reload()'? – cubrr 2015-03-02 13:09:14

+0

你是絕對正確的。我做了更改,但我仍然看到「無法讀取屬性'重新加載'未定義的」 – Swicky 2015-03-02 13:20:36

+0

在這種情況下,我懷疑它找不到具有'#{store-category} .store'的存儲對象 – cubrr 2015-03-02 13:22:42

回答

0

我結束了創建使用在C#中的按鈕:

this.SearchForm.Add(new Ext.Net.Button() 
      { 
       Text = "Search", 
       Handler = "ReloadGrid();" 
      }); 

ReloadGrid是一個JavaScript函數,觸發此:

function ReloadGrid() { 
      var obj = Ext.select("#GridID", true).elements; 
      Ext.getCmp(obj[0].id).getStore().reload({}); 
     } 

這迫使代碼重新加載,並從那裏使用X.isAjaxRequest來定義只有在重新加載頁面時我想包含的區域。