在模态窗口内的网格中加载存储

时间:2015-08-24 21:04:33

标签: javascript extjs grid store

我有一个带有两个网格的小部件。

当选择第一个网格的一行时,第二个网格的加载完成 根据请求发送的id_note。

例如,如果网格位于布局hbox中,则效果很好。

但是,当第二个网格位于模态窗口内时,存储的加载失败。

我的代码失败了什么?

(...)
},{
xtype: 'actioncolumn',
text:'Notes',
minWidth: 40,
flex:0.30,
align:'center',
items: [{
        icon: 'resources/images/loadWin.png',
        tooltip: 'show window',
        handler: function(grid, record, item, index, e, eOpts){               
            var selectRow = grid.getSelectionModel().select(record);
            var selection = grid.getSelectionModel().getLastSelected(record);
            var id_note= selection.get('id_note');

            var win = Ext.widget('popupWindow', {
                animateTarget : item,
            }).show();

            var grid = Ext.ComponentQuery.query('#gridItemId')[0]; //grid within win
            var store = grid.getStore();

            store.proxy.extraParams = {
                'id_note': id_note
            },

            //Right up to this point

            store.load(); //**PROBLEM HERE**
        }

    }
(...)

1 个答案:

答案 0 :(得分:0)

问题是在这种情况下获取网格存储引用(动态创建的窗口中的网格)。

我使用StoreManager(storeId)获得了商店参考,现在效果很好。

//var grid = Ext.ComponentQuery.query('#gridItemId')[0];
//var store = grid.getStore();

var store = Ext.getStore('storeId'); 

再次感谢德雷克。