Sencha Touch List不呈现数据

时间:2013-07-12 13:46:50

标签: sencha-touch-2.2

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',{       extend:'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);

}

商店已加载记录,但未显示在列表中。

1 个答案:

答案 0 :(得分:0)

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

UR的

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

您提到的字段是FacilityName,以便从商店Facility获取记录

你只需要在ur itemtpl中执行此操作以获取列表中的数据:

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