之前是好的 后来在数据库表里加了个字段 把整个页面都重新改了一遍 就一直缺少对象 找不到原因..
    错误在 Ext.onReady 的后面那句.. 各位高手 代码不难读..     
        //这是查找数据库某张表中的所有 但是没进入后台 就报了缺少对象
        var qykhProxy = new Ext.data.HttpProxy({
            url : path + "/qykhDSQuery.do?flag=4"
        });        //这是Json
        var qykhReader = new Ext.data.JsonReader(
            {totalProperty : 'totalProperty',root : 'root'},
            [ {name : 'cusId'},
{name : 'comName'}, 
{name : 'comKindType'}, 
{name : 'comKindName'},
{name : 'comFieldflag'}, 
{name : 'comField'},
{name : 'comLawDutyFlag'},
{name : 'comLawDutyName'},
{name : 'corpTypeFlag'},
{name : 'corpTypeName'},
{name : 'corpName'},
{name : 'regCurType'},
{name : 'regCurName'},//这是之后在数据库里添加的字段
{name : 'regCapital'},
{name : 'employeeNum'},
{name : 'regCountry'},
{name : 'regContan'},
{name : 'regAddress'},
{name : 'currentAddress'},
{name : 'regisOrgCode'},
{name : 'bookerCode'},
{name : 'regisDate'},
{name : 'updateDate'},
{name : 'updPersonCode'},
{name : 'state'}
]);        //这是数据源和Json的转换
        var qykhInfoStore = new Ext.data.Store({
            proxy: qykhProxy,
            reader: qykhReader,
            sortInfo:{
                field: 'cusId',
                direction: 'ASC'
            }
        });        //这是表模型 
        var colModel = new Ext.grid.ColumnModel([
            {header:'用户代码',dataIndex:'cusId', sortable: true},
            {header:'企业名称',dataIndex:'comName', sortable: true},
            {header:'企业性质',dataIndex:'comKindName', sortable: true},
            {header:'所属行业',dataIndex:'comField', sortable: true},
            {header:'法律责任形式',dataIndex:'comLawDutyName', sortable: true},
            {header:'法人类型',dataIndex:'corpTypeName', sortable: true},
            {header:'法人名称',dataIndex:'corpName', sortable: true},
            {header:'注册货币种类',dataIndex:'regCurName', sortable: true},//这是之后在数据库里添加的字段
            {header:'注册资金',dataIndex:'regCapital', sortable: true},
            {header:'企业员工数',dataIndex:'employeeNum', sortable: true},
            {header:'注册所在国家',dataIndex:'regCountry', sortable: true},
            {header:'注册所在行政区域',dataIndex:'regContan', sortable: true},
            {header:'注册地址',dataIndex:'regAddress', sortable: true},
            {header:'办公地址',dataIndex:'currentAddress', sortable: true},
            {header:'注册机构代码',dataIndex:'regisOrgCode', sortable: true},
            {header:'注册柜员',dataIndex:'bookerCode', sortable: true},
            {header:'注册时间',dataIndex:'regisDate', sortable: true},
            {header:'更新时间',dataIndex:'updateDate', sortable: true},
            {header:'更新柜员',dataIndex:'updPersonCode', sortable: true}
        ]);        //这是一个继承 继承自GridPanel
        com.panels.QykhInfoGrid = Ext.extend(Ext.grid.GridPanel, {
            store : qykhInfoStore,
            colModel : colModel,
            border : true,
            height: Ext.getBody().getHeight(),
            loadMask : {
                msg : '正在读取数据, 请稍后...'
            },
            initComponent : function() {
                com.panels.QykhInfoGrid.superclass.initComponent.call(this);
            }
        });        //数据源加载数据
        qykhInfoStore.load({params : { start : 0, limit : 20 }});        //程序的开始
        Ext.onReady(function(){
            //下面这句就是错误行
            var qykhInfoPanel = new com.panels.QykhInfoGrid({//在上面继承自 GridPanel
                renderTo: 'qykhManage',
                tbar: qykhManageBar,
                bbar: new com.panels.rencyPaging({store : qykhInfoStore}),
                sm: new Ext.grid.RowSelectionModel({//选择行
                    singleSelect: true,//只选择一行
                    listeners: {
                        rowselect: function(sm, row, rec) {//当选择行的时候 加载记录
                            Ext.getCmp("modifyQykhForm").getForm().loadRecord(rec);//向子窗口传值
                            Ext.getCmp("deleteQykhForm").getForm().loadRecord(rec);//向子窗口传值
                        }
                    }
                }),
                listeners: {
                    viewready: function(g) {
                        g.getSelectionModel().selectRow(0);
                    },'render' : function(){
                        Ext.getCmp('var_cusId').focus(true,true);
                    }
                }
    });
        })
    

解决方案 »

  1.   

    没报缺少哪个对象 
    标点应该不会有错 
    之前是可以运行的 
    就是在数据库里添加了一个字段
    然后上代码那来改了那两句 
    把相关的该了一下 
    也不会用 firebug 调试.. 
      

  2.   

    不是吧,firebug可是杀人越货,居家必备
    在firefox下装个firebug看下错误信息吧。
      

  3.   

    终于知道是哪一行错了 .. bbar : new com.panels.rencyPaging({store : qykhInfoStore}), 这是GridPanel的一个属性 在这个程序中 是用来在底部菜单计算 GridPanel 总共有多少行数据 
    但是从来都没搞懂过 为什么这样写了以后就真的能在底部计算总共多少行数据.. 在这个工程中找了好半天 找到一个好象是用来设置这个底部菜单的代码 在另外一个js文件中     Ext.namespace('com.panels');
        com.panels.CurrencyPaging = Ext.extend(Ext.PagingToolbar, {
            pageSize : 20,
            displayInfo : true,
            displayMsg : '显示记录 {0} - {1}    共有{2}条记录',
            emptyMsg : "没有相关记录",
            plugins : new Ext.ux.ProgressBarPager()
        });
        就不知道这一段话是什么意思 
         然后把那行错误代码注释掉 程序就可以正常运行了 可是没有了底部菜单 忽然觉得少了个功能 挺可惜的 你们觉得呢? 
      

  4.   

    火狐的firebug调试很简单的,只要有有装这个组件,遇到错误,右下角会出现红字体,提示有错误,点它就能看到具体的错误了