如何从Extjs中的网格中的URL加载数据?

时间:2017-07-12 11:59:19

标签: javascript extjs

我在initComponent中有一个url:this.myStore.getProxy().url = MY_URI + record.data.id;,其中record是我选择的记录。

根据 GET 网址,我在Chrome的网络响应中得到以下信息:

 {
     "result": {
        "id": "15",
        "height": "600",
        "width": "600",
        "squares": [{
            "id": 25,
            "height": 50,
            "width": 50
        }, {
            "id": 26,
            "height": 50,
            "width": 50
        }]
    }
}

当前在网格中:store: this.myStoredataIndex: 'id' or 'dataIndex: 'height' or ' dataIndex: 'width'我没有得到square对象的值,但是其他的值,例如 Height 列显示 600 50

如何在网格中显示正方形的信息?

谢谢。

1 个答案:

答案 0 :(得分:0)

reader#rootProperty设为'result.squares'

示例:

Ext.create('Ext.data.Store', {
    storeId: 'squareStore',
    fields: ['id', 'height', 'width'],
    autoLoad: true,
    proxy: {
        type: 'ajax',
        url: 'data1.json', // your url here
        reader: {
            type: 'json',
            rootProperty: 'result.squares'
        }
    }
});

Ext.create('Ext.grid.Panel', {
    title: 'Square',
    store: Ext.data.StoreManager.lookup('squareStore'),
    columns: [{
        text: 'id',
        dataIndex: 'id'
    }, {
        text: 'Height',
        dataIndex: 'height',
        flex: 1
    }, {
        text: 'Width',
        dataIndex: 'width'
    }],
    height: 200,
    width: 400,
    renderTo: Ext.getBody()
});

小提琴:https://fiddle.sencha.com/#view/editor&fiddle/236t