Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问网格面板Extjs中的存储_Extjs - Fatal编程技术网

访问网格面板Extjs中的存储

访问网格面板Extjs中的存储,extjs,Extjs,这可能是一个愚蠢的问题,但我不知道如何访问gridpanel中的存储 var grid = new Ext.grid.GridPanel({ ..... store: store, ...... listeners: { 'beforerender' : function(grid) { //grid.getStore(); } } 我想遍历存储,但是grid.getSto

这可能是一个愚蠢的问题,但我不知道如何访问gridpanel中的存储

  var grid = new Ext.grid.GridPanel({
    .....
    store: store,
    ......
      listeners: {
        'beforerender' : function(grid) {
          //grid.getStore();
            }
           }

我想遍历存储,但是grid.getStore()返回空对象。

您只需执行
grid.store


如果您知道它将在网格渲染之前填充数据(您似乎是从网格
beforerender
事件调用它),则可以执行
grid.store.getRange()
以获取要循环的记录,正如您在问题中提到的。

存储变量在侦听器代码中仍然可见:)

看起来加载存储的调用是在afterrender事件之后进行的,是否可能?是的,这通常是顺序,如果您使用ajax获取存储数据,网格将在加载数据之前进行渲染。我假设您是在页面初始化之后的某个时间创建网格的,这就是为什么您要在
beforerender
事件中尝试这样做的原因。据我所知,您正在尝试遍历存储区的记录,我会在存储区中添加一个加载事件的侦听器(一旦数据加载就会触发),然后将您的迭代功能放在其中。e-zing有一个很好的观点,您的问题似乎是在
beforerender
事件中运行此操作,而存储尚未加载。见下面我的评论。