BAR*_*BAR 1 variables grid extjs
在Designer中,我将网格名称设置为等于MyGrid
在单击按钮addRecord被调用时,它会失败,其中行正在寻找未定义的网格.
如何定义此MyGrid以便它引用面板中的网格?
Ext.define('MyApp.view.MyPanel', {
extend: 'MyApp.view.ui.MyPanel',
initComponent: function() {
var me = this;
me.callParent(arguments);
var button = me.down('button[text=Submit]');
button.on('click', me.onSubmitBtnClick, me);
},
addRecord: function(myRecordArray) {
var rows = grid.getStore().getRange(); // ERROR happens here
console.log(rows);
},
onSubmitBtnClick: function() {
this.addRecord(["ll", "kk", "mm"]);
}
});
Run Code Online (Sandbox Code Playgroud)
Chrome Javascript调试器控制台 - >
Uncaught ReferenceError: grid is not defined
Run Code Online (Sandbox Code Playgroud)
在你打电话之前,grid.getStore()你需要定义"网格".您可以var grid = this;在调用之前执行,因为您正在从网格内部定义addRecord函数.
编辑:
我只是注意到这不是从网格面板内部调用商店而是其他面板.您需要做的是在网格面板上设置id配置.例如,id: MyGridPanel可能已经有一个id配置设置,你只需要找出它是什么.如果您使用的是ExtJS设计器,它实际上可能已设置为"MyGridPanel".然后你会这样称呼它:
var grid = Ext.getCmp("MyGridPanel");
Run Code Online (Sandbox Code Playgroud)
然后你会做:
grid.getStore().getRange()
Run Code Online (Sandbox Code Playgroud)