2015-03-02 91 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来定义只有在重新加载页面时我想包含的区域。