Ext.Direct网格问题

时间:2009-10-14 14:24:55

标签: javascript json extjs

(我也在extjs论坛上发布了这个内容,但重新考虑可能更加忙碌)


HI

我将以下json传递给直营店:

{
"type": "rpc",
"tid": 2,
"action": "DirectReportDesigner",
"method": "GetReports",
"result": {
    "total": 1,
    "data": [{
        "id": 1,
        "FullTypeName": null,
        "title": "test",
        "useGroupedColConfig": false,
        "groupTextTemplate": "{'ProviderName': ' Contract Number -- {gvalue}','ProviderName': ' Provider Name -- {gvalue}'}",
        "groupHeaders": null,
        "groupFields": "['CostElement2', 'CostElement3', 'CostElement4']",
        "groupedHeaders": false,
        "jsonUrl": "report/BudgetManagerBudgetData.rails",
        "menuType": "rptmid",
        "actualType": "rptmid",
        "ignoreCols": "1",
        "getRowClass": "settings.utils.highlightRowWhenCellEmptyClass",
        "deleted": false,
        "fitToScreen": false,
        "isCopyOf": 0
    }]
}

}

这是js代码的样子:

 Ext.extend(Ideal.ReportDesigner.ReportGrid, Ideal.UI.BaseGrid, {
    pageSize: 25,
    afterRender: function() {
        this.getStore().load({
            params: {
                start: 0,
                limit: 25
            }
        });

        Ideal.ReportDesigner.ReportGrid.superclass.afterRender.apply(this, arguments);
    },
    header: false,
    view: new Ext.grid.GridView({
        autoFill: true
    }),
    cm: new Ideal.UI.ColumnModel([{
        header: 'Report Name',
        id: 'nameCol',
        sortable: true,
        dataIndex: 'title'
    }, {
        header: 'Json URL',
        sortable: true,
        dataIndex: 'jsonUrl'
    }, {
        header: 'Group Text Template',
        sortable: true,
        dataIndex: 'groupTextTemplate'
    }, {
        header: 'Group Headers',
        sortable: true,
        dataIndex: 'groupHeaders'
    }, {
        header: 'Group Fields',
        id: 'groupFieldsCol',
        sortable: true,
        dataIndex: 'groupFields'
    }, {
        header: 'Grouped Headers',
        sortable: true,
        dataIndex: 'groupedHeaders'
    }, {
        header: 'Fit to Screen',
        sortable: true,
        dataIndex: 'fitToScreen'
    }, {
        header: 'Ignore Cols',
        sortable: true,
        dataIndex: 'ignoreCols'
    }, {
        header: 'Get Row Class',
        sortable: true,
        dataIndex: 'getRowClass'
    }
    ]),

    initComponent: function() {

        var ds = new Ext.data.DirectStore({
            directFn: DirectReportDesigner.GetReports,
            paramsAsHash: false,
            paramOrder: 'start|limit|sort|dir',
            root: 'data',
            idProperty: 'id',
            totalProperty: 'total',
            sortInfo: {
                field: 'title',
                direction: 'ASC'
            },
            fields: [{
                name: 'id'
            }, {
                name: 'title'
            }, {
                name: 'useGroupedColConfig'
            }, {
                name: 'groupTextTemplate'
            }, {
                name: 'groupHeaders'
            }, {
                name: 'groupFields'
            }, {
                name: 'groupedHeaders'
            }, {
                name: 'jsonUrl'
            }, {
                name: 'menuType'
            }, {
                name: 'actualType'
            }, {
                name: 'fitToScreen'
            }, {
                name: 'ignoreCols'
            }, {
                name: 'getRowClass'
            }, {
                name: 'isCopyOf'
            }
            ],
            remoteSort: true
        });

        var pager = new Ext.PagingToolbar({
            store: ds,
            displayInfo: true,
            pageSize: this.pageSize
        });

        var config = {
            store: ds,
            bbar: pager
        };
        Ext.apply(this, Ext.apply(this.initialConfig, config));
        Ideal.ReportDesigner.ReportGrid.superclass.initComponent.apply(this, arguments);
    }

});

网格呈现正常,用于获取json的服务器代码正常,但商店从不加载数据。我知道它被传回来,因为我可以在萤火虫中看到它,这就是我在上面粘贴的方式。

谁能在这里看到任何明显的东西?

欢呼声

瓦特://

2 个答案:

答案 0 :(得分:0)

我总是将商店的字段定义为字符串数组,而不是对象。

fields: ['id','title','useGroupedColConfig', ...]

答案 1 :(得分:0)

我设法对此进行排序 - 这是c#变量的名称,它正在被序列化而抛出它 - 为什么我不知道!!!