【问题标题】:Access store in grid panel Extjs在网格面板 Extjs 中访问存储
【发布时间】:2012-02-15 18:36:16
【问题描述】:

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

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

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

【问题讨论】:

    标签: extjs


    【解决方案1】:

    你可以简单地做grid.store

    如果您知道它会在网格呈现之前填充数据(您似乎是从网格beforerender 事件中调用它),您可以执行grid.store.getRange() 来获取您想要循环的记录,因为您在你的问题中提到。

    【讨论】:

    • 看起来加载商店的调用是在 afterrender 事件之后进行的,这可能吗?
    • 是的,这通常是顺序,如果您使用ajax 获取存储数据,网格将在数据加载之前呈现。我假设您在页面初始化后的某个时间创建了一个网格,这就是您尝试在beforerender 事件中执行此操作的原因。据我了解,您正在尝试遍历商店的记录,我会在加载事件(一旦数据加载后触发)在商店中添加一个侦听器,然后将您的迭代功能放在那里。
    【解决方案2】:

    store 变量在您的侦听器代码中仍然可见 :)

    【讨论】:

    • e-zinc 有一个很好的观点,您的问题似乎在于您在 beforerender 事件中运行它并且商店尚未加载。请参阅下面的评论。
    猜你喜欢
    • 2011-12-18
    • 2014-01-04
    • 2011-02-15
    • 2011-08-06
    • 2012-06-30
    • 1970-01-01
    • 2012-05-12
    • 2011-09-24
    • 2015-05-05
    相关资源
    最近更新 更多