1

我试图将代码从 extjs2 更新到 extjs4,但出现错误并且grid. 我的 Google Chrome 浏览器返回错误Cannot read property 'isTree' of undefined

    Ext.define('App.grid.GridPanel', {
    extend: 'Ext.grid.GridPanel',
    alias: 'widget.gridpanel',
    frame: false,
    loadMask: true,
    stateful: false,
    enableColumnHide: false,
    showGridHeader: true,
    viewConfig: {        
        stripeRows: true
    },

    initComponent: function() {
        if (!this.showGridHeader) {
            this.addClass('grid-no-header');
        }

        App.grid.GridPanel.superclass.initComponent.apply(this, arguments);
    },

    getView : function(){
        if(!this.view){
            this.view = new App.grid.GridView(this.viewConfig);
        }
        return this.view;
    }
});
var grid = new App.grid.GridPanel({
        商店:商店,
        列:gridColumns,
        框架:假,
    // autoExpandColumn: 'name',
        自动高度:真,
        负载掩码:真,
        bbar:分页栏,
        视图配置:{
            条纹行:真的,
            滚动偏移:2
        }
    });

即使我更改App.grid.GridPanel.superclass.initComponent.apply(this, arguments);this.callParent(this, arguments);我收到相同的错误。请帮忙。

4

1 回答 1

1

您不应将widget.gridpanel其用作网格的别名,因为已经存在gridpanel http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.grid.Panel的 xtype 。

还有 getView 怎么回事?您没有提供它的实现。

在您的 initComponent 方法中使用 this.callParent() 如指南中所述。

将配置减少到最低限度以使其正常工作,然后逐个添加您认为必要的内容。

于 2013-04-30T16:39:11.633 回答