Ext JS 3.0.0 - 使用Ext.LiveGrid无法从数据存储加载数据到网格

时间:2012-10-29 05:04:05

标签: extjs extjs3

我正在使用livegrid来查看来自服务器数据存储的所有数据,但问题是数据存储可以加载(我正在使用Firebug并检查控制台选项卡)但是在我的实时网格中无法查看来自加载数据存储的所有数据并且说<在状态栏中显示“无数据显示”,请帮我解决此问题。

我正在使用Ext JS 3.0.0并将Ext.ux.Livegrid添加到我的应用程序中。

这是我的实时网格配置的代码:

        var myView = new Ext.ux.grid.livegrid.GridView({
            nearLimit: 100,
            loadMask: {
                msg: 'Buffering. Please wait...'
            }
        });

        var livegrid = new Ext.ux.grid.livegrid.GridPanel({
            enableDragDrop: false,
            cm: new Ext.grid.ColumnModel([
            new Ext.grid.CheckboxSelectionModel(),
            new SharpJs.RowNumberer()
            , { header: 'Nama Kegiatan', dataIndex: 'RCSA_NAME', sortable: true, allowBlank: false }
            , { header: 'Unit', dataIndex: 'AUDITEE_NAME', sortable: true, allowBlank: false }
            , { header: 'Risk Owner', dataIndex: 'NAMA_RISKOWNER', sortable: true, allowBlank: false }
            , { header: 'Kode Kegiatan', dataIndex: 'RCSA_CODE', sortable: true, allowBlank: false, maxLength: 100 }
            , { header: 'Periode', dataIndex: 'RISK_PERIOD_NAME', sortable: true, allowBlank: true }
            , { header: 'SMART', dataIndex: 'Id', renderer: smartRenderer }
            , { header: 'Kajian Risiko', dataIndex: 'Id', renderer: kajRisiko }
            , { header: 'Kesimpulan', dataIndex: 'Id', renderer: sumRenderer }
            , { header: 'Pengesahan', dataIndex: 'LEGITIMATION_NO', renderer: pengRenderer }
            , { header: 'Verifikasi', dataIndex: 'VERIFICATION_NO', renderer: verRenderer }
            , { header: 'Mentor', dataIndex: 'AUDITEE_EMPLOYEE_NAME', renderer: coachRenderer }
            , { header: 'Rollback', dataIndex: 'Id', renderer: rollRenderer }
            , { header: 'Jenis Anggaran', dataIndex: 'TBL_PAR_BUDGET_TYPE_NAME', sortable: true, allowBlank: false }
            , { header: 'Anggaran', dataIndex: 'ANGGARAN', sortable: true, allowBlank: false, renderer: Ext.util.Format.indMoney }
        , { header: 'Verifikasi', dataIndex: 'VERIFIKASI', sortable: true, allowBlank: true }
        , { header: 'Tanggal Pembuatan', dataIndex: 'RCSA_SESSION_DATE', sortable: true, allowBlank: true, renderer: SharpJs.dateRenderer }
            , { header: 'Created Date', dataIndex: 'CREATED_DATE', sortable: true, renderer: SharpJs.dateRenderer }
            , { header: 'Created By', dataIndex: 'CREATED_BY', sortable: true }
            , { header: 'Modified Date', dataIndex: 'MODIFIED_DATE', sortable: true, renderer: SharpJs.dateRenderer }
            , { header: 'Modified By', dataIndex: 'MODIFIED_BY', sortable: true }
        ]),
            loadMask: {
                msg: 'Loading...'
            },
            title: 'Daftar Kajian Kegiatan Proyek',
            height: SharpJs.FormHeight,
            width: SharpJs.FormWidth,
            stripeRows: true,
            store: new Ext.ux.grid.livegrid.Store({
                autoLoad: true,
                url: SharpJs.RootUrl + "TblProjRcsas",
                bufferSize: 300,
                reader: new Ext.ux.grid.livegrid.JsonReader({
                    root: 'resultset',
                    versionProperty: 'version',
                    totalProperty: 'totalCount',
                    fields: [
        'Id'
        , 'AUDITEE'
        , 'AUDITEE_ID'
        , 'AUDITEE_NAME'
        , 'TBL_PAR_PROJ_RISK_PERIOD'
        , 'RISK_PERIOD_ID'
        , 'RISK_PERIOD_NAME'
        , 'RCSA_CODE'
        , 'RCSA_NAME'
        , 'START_DATE'
        , 'END_DATE'
        , 'CREATED_DATE'
        , 'CREATED_BY'
        , 'MODIFIED_DATE'
        , 'MODIFIED_BY'
        , 'ANGGARAN'
        , 'VERIFIKASI'
        , 'TBL_PAR_BUDGET_TYPE_ID'
        , 'TBL_PAR_BUDGET_TYPE_NAME'
        , 'RCSA_SESSION_DATE'
        , 'RCSA_SESSION_TIME'
        , 'RCSA_SESSION_LOCATION'
        , 'VERIFICATION_NO'
        , 'VERIFICATION_DATE'
        , 'VERIFICATION_OWNER'
        , 'LEGITIMATION_NO'
        , 'LEGITIMATION_DATE'
        , 'LEGITIMATION_OWNER'
        , 'AUDITEE_RISKOWNER_ID'
        , 'NAMA_RISKOWNER'
        , 'SURAT_RISKOWNER'
        , 'LEGITIMATION_EXA_STATUS'
        , 'LEGITIMATION_APPROVE_STATUS'
        , 'VERIFICATION_MRF_STATUS'
        , 'VERIFICATION_MRO_STATUS'
        , 'VERIFICATION_KSMR_STATUS'
        , 'AUDITEE_EMPLOYEE_AUDITEE_ID'
        , 'AUDITEE_EMPLOYEE_ID'
        , 'AUDITEE_EMPLOYEE_NAME'
        ],
}),
                    sortInfo: { field: 'Id', direction: 'ASC' },
                    baseParams: {skip:0, take:15}
                }),
            selModel: new Ext.ux.grid.livegrid.RowSelectionModel(),
            view: myView,
            bbar: new Ext.ux.grid.livegrid.Toolbar({
                    view: myView,
                    displayInfo: true
                })
            });

            livegrid.render('DataGrid');

这是我的实时网格,没有数据显示:

http://i.stack.imgur.com/5qtAd.jpg

感谢您的帮助..

1 个答案:

答案 0 :(得分:0)

您的JsonReader根属性设置为结果集,但是,我没有看到您将其添加到返回的json的位置。

返回的json构造应遵循root参数的规则:http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.JsonReader-cfg-root

并应包含指定的元素。 例如:

{resultset:[{unit:"1"},{unit:"2"}]};

如果缺少根元素,则商店不知道从哪里读取数组。