在Ext.Viewport 中定义了一个Ext.Panel,然后再Ext.Panel中,定义了三个gridpanel,通过下面代码捕获Click事件,
listeners: {render: function(panel) {panel.el.on('click', this.onClick, this);}},
scope: this,
onClick: function onClick(event, target, options) {
alert(target.id);
}比较笨的方法,通过显示target.id(类似Ext-gen40),然后再程序中写死。通过switch case去区分对应的gridpanel,
但是我希望,通过target.id 去获得对应gridpanel(例如可以通过创建gridpanel的时候写的id:'dataCurveGrid')
注释通过下面函数可以列举出我所有的gridpanel: var grids = viewPort.findByType("grid");
var arr = [];
for(var i=0;i<grids.length;i++){
arr.push(grids[i]["id"]);
}
alert(arr.toString());
listeners: {render: function(panel) {panel.el.on('click', this.onClick, this);}},
scope: this,
onClick: function onClick(event, target, options) {
alert(target.id);
}比较笨的方法,通过显示target.id(类似Ext-gen40),然后再程序中写死。通过switch case去区分对应的gridpanel,
但是我希望,通过target.id 去获得对应gridpanel(例如可以通过创建gridpanel的时候写的id:'dataCurveGrid')
注释通过下面函数可以列举出我所有的gridpanel: var grids = viewPort.findByType("grid");
var arr = [];
for(var i=0;i<grids.length;i++){
arr.push(grids[i]["id"]);
}
alert(arr.toString());
scope: this,
onClick: function onClick(event, target, options) {
var grid=Ext.getCmp(target.id); /////////
}
onClick: function (event, target, options) {
var grid =Ext.getCmp(target.id);
}
target.id返回的是ext-gen40 之类,和我之前定义的id:'dataCurveGrid' 不一致
Ext.getCmp(target.id) is undefined