我有一个自定义的'class',它扩展了Ext.grid.GridPanel。我想有一列复选框(example which uses Ext.ux.grid.CheckboxColumn - 只是我需要的东西)。 我的目标是将它与预先生成的配置对象一起使用,包括列模型(它由PHP脚本生成),所以我重载 initComponent 方法在其中添加列:
MyGrid = Ext.extend
(
Ext.grid.GridPanel
,{
initComponent : function()
{
this.columns.push({
xtype : 'checkcolumn'
,header : 'Show on map ?'
,dataIndex : 'showonmap'
,width : 130
});
Ext.apply(this, {columns:this.columns});
MyGrid.superclass.initComponent.apply(this, arguments);
}
}
);
这样的东西适用于ActionColumn组件,但是这段代码失败了,因为它找不到构造函数(可能是CheckColumn)。
我应该如何修改我的代码或CheckColumn以使这件事有效?
提前致谢!
答案 0 :(得分:2)
如果找不到构造函数,则必须没有正确导入CheckColumn类。试试这个,看看是否可以直接找到构造函数:
MyGrid = Ext.extend
(
Ext.grid.GridPanel
,{
initComponent : function()
{
this.columns.push(new Ext.ux.grid.CheckColumn({
,header : 'Show on map ?'
,dataIndex : 'showonmap'
,width : 130
}));
Ext.apply(this, {columns:this.columns});
MyGrid.superclass.initComponent.apply(this, arguments);
}
}
);
如果你得到Ext.ux.grid.CheckColumn is not a constructor
的异常,那么你肯定知道这些类是不可用的。确保您已正确包含该类,并且可以使用Firebug验证源实际上是否已包含且可用。