Extjs不在网格中显示JSON数据

时间:2013-08-23 10:37:54

标签: javascript json extjs grid store

在商店中我收到了JSON响应,但我仍然无法在网格中加载数据。

这是JavaScript代码:

prepare: function(){    
    // The store
    this.store = new Ext.ux.app.data.Store({
        directFn: Supplier.Hotelstock.Getcloseddate,
        fields: [ 'stock_days', 'stock_datefrom' ],
        autoLoad: false
    });

    var filters = {};
    var allowedFilters = ['supplier_id'];

    for(var i=0; i<allowedFilters.length; i++){
        if (!Ext.isEmpty(this[allowedFilters[i]])){
            filters[allowedFilters[i]] = this[allowedFilters[i]];
        }
    }

    this.store.setBaseParam('filter', filters);
    this.store.load();

    //alert(this.store.data.first());
    // The grid
    this.grid = new Ext.ux.app.page.Grid({
        store: this.store,
        border: false,
        autoResizeColumn: 1,
        region: 'center',
        columns: [
            {
                dataIndex: 'stock_days',
                header: 'Days',
                width: 40
            },
            {
                dataIndex: 'stock_datefrom',
                header: 'Closed Date',
                width: 200,
                sortable: true
            }
        ]
    });
    this.setItems([this.grid]);
}

这是回复:

{
    "tid": 9,
    "type": "rpc",
    "action": "Supplier_Hotelstock",
    "method": "Getcloseddate",
    "result": {
        "results": 3,
        "rows": [{
            "stock_days": "Tue",
            "stock_datefrom": "2013-08-06"
        }, {
            "stock_days": "Wed",
            "stock_datefrom": "2013-08-07"
        }, {
            "stock_days": "Fri",
            "stock_datefrom": "2013-08-16"
        }],
        "start": false,
        "pageSize": false,
        "metaData": {
            "totalProperty": "results",
            "startProperty": "start",
            "root": "rows",
            "fields": [{
                "name": "stock_days",
                "type": "string"
            }, {
                "name": "stock_datefrom",
                "type": "string"
            }]
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您不会使用以下内容加载数据:

Ext.create('Ext.data.Store', {...

你把商店的参数放在哪里?我使用具有代理类型内存的商店,我有同样的加载数据的问题。如果你想完全调用商店使用的方法而不是查看Sencha文档。