0
Ext.define('MyApp.model.Facility', {
    extend: 'Ext.data.Model',

    requires: [
        'Ext.data.proxy.Ajax'
    ],

    config: {
        fields: [
            {
                name: 'FacilityId'
            },
            {
                name: 'FacilityName'
            }
        ]
    }
});

Ext.define('MyApp.store.FacilityStore', {
    extend: 'Ext.data.Store',

    requires: [
        'MyApp.model.Facility'
    ],

    config: {
        autoLoad: true,
        model: 'MyApp.model.Facility',
        storeId: 'FacilityStore',
        proxy: {
            type: 'ajax',
            batchActions: false,
            url: 'http://localhost/QuickFind/Services/EquipmentService.asmx/GetFacilities',
            headers: {
                'content-type': 'application/json'
            },
            reader: {
                type: 'json',
                rootProperty: 'd'
            }
        }
    }
});

并尝试将数据加载到列表中。

Ext.define('MyApp.view.facilityList', {
    extend: 'Ext.dataview.List',
    alias: 'widget.facilityList',

    config: {
        docked: 'top',
        height: 200,
        id: 'datalist',
        ui: 'round',
        scrollable: true,
        store: 'FacilityStore',
        onItemDisclosure: true,
        itemTpl: [
            '<div><p>{Facility.FacilityName}</p></div>'
        ]
    }

});

我的控制器启动我将数据绑定到列表:

Ext.define('MyApp.controller.Facility', { 扩展:'Ext.app.Controller',

config: {
    refs: {
        dataList: '#dataList',
        mainNav: 'mainNav'
    }
},

launch: function() {

    var me = this;

    debugger;

    Ext.getStore('FacilityStore').load();
    var group_store = Ext.getStore("FacilityStore");

    me.facilityList.setStore(group_store);

}

存储已加载记录,但未显示在列表中。

4

1 回答 1

0

我希望你现在已经解决了你的问题,但仍然要回答你发布的问题..问题是你写的项目..

你的

itemTpl: [
            '<div><p>{Facility.FacilityName}</p></div>'
        ]

您提到的领域是FacilityName从商店获取记录Facility

您只需要在您的 itemtpl 中执行此操作即可获取列表中的数据:

itemTpl: [
                '<div><p>{FacilityName}</p></div>'
            ]
于 2013-10-28T12:03:54.040 回答