me["onBeforeItem" + map[newType]] is not a function
[在此错误处中断] (me['onBeforeItem' + m...record, item, index, e) === false) ||   ext-all-debug.js (第 66872 行)
前面我写的js调试也没发现错误,这样的怎么找到bug呢?求解,谢谢了。

解决方案 »

  1.   

    我排除了全部多余的代码,
    用的是extjs4.0 Ext.onReady(function() {            //创建对象模型
                Ext.define('Item', {
                    extend: 'Ext.data.Model',
                    fields: [
                { name: 'MaterialId', type: 'int' },
                { name: 'MaterialCode', type: 'string' },
                { name: 'Quantity', type: 'int' }
            ]
                });
                //创建 子单的数据源
                var Itemstore = Ext.create('Ext.data.JsonStore', {
                    storeId: 'simpsonsStore',
                    autoDestroy: true,
                    autoLoad: false,
                    model: 'Item',
                    fields: ['MaterialId', 'MaterialCode', 'Quantity'],
                    proxy: {
                        type: 'ajax',
                        url: '/WareHouseVoucherItem/Select',
                        reader: {
                            type: 'json',
                            root: 'rows',
                            totalProperty: 'totalCount'
                        }
                    }
                });
                //可编辑行的创建
                var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
                    clicksToMoveEditor: 1,
                    autoCancel: false
                });            //从表添加mine
                var grid = Ext.create('Ext.grid.Panel', {
                    title: '子单信息',
                    store: Itemstore,
                    autoHeight: true,
                    columns: [{
                        text: '物资编号',
                        dataIndex: 'MaterialId',
                        width: 130,
                        editor: {
                            xtype: 'textfield',
                            name: 'MaterialId',
                            id: 'MaterialId'
                        }
                    }, {
                        text: '数量',
                        dataIndex: 'Quantity',
                        width: 60,
                        editor: {
                            xtype: 'numberfield',
                            id: 'Quantity',
                            name: 'Quantity',
                            minValue: 1,
                            maxValue: 100000
                        }
                    }, {
                        text: '编号',
                        dataIndex: 'MaterialCode',
                        width: 120,
                        editor: {
                            id: 'MaterialCode'
                        }
                    }
                    ],
                    region: 'center',
                    tbar: [{
                        text: '添加',
                        itemId: 'addItems',
                        handler: function() {
                            rowEditing.cancelEdit();                        var r = Ext.ModelManager.create({
                                MaterialId: 1,
                                Quantity: 20,
                                MaterialCode: 'sfg001',
                                indoor: false
                            }, 'Item');                        Itemstore.insert(0, r);
                            rowEditing.startEdit(0, 0);
                        }
    }],
                        plugins: [rowEditing]
                    });                var center = { region: "center", split: true, border: false, items: grid, layout: "fit" };
                    new Ext.Viewport({ layout: "border", items: [center] });
                });
      

  2.   

    不清楚你创建的Item对象模型是不是关键字了
      

  3.   

     totalProperty: 'totalCount'有这个了 为什么你没pageSize呢
      

  4.   

    我已解决,把官网的ext-all-debug.js文件覆盖项目中的那个,就没报错了。
      

  5.   

    难道你开始导入到项目中的ext-all-debug不是官网的吗,我也老是遇到events报错,不知道我代码那里不规范,希望你能给点心得,谢谢