1

当在. Ext.dataview.List_ 知道怎么做吗?使用我的以下代码,我可以看到空的。调试时我可以看到正确填充。StoreControllerExt.dataview.ListstoreEvents2

如果可能,请向我提供代码示例。

populateViewsAfterLogIn: function (){
    var me = this;
    debugger
    var storeEvents2 =  Ext.getStore('Events2');
    storeEvents2.load();
    storeEvents2.sync();
    var myEventsList = me.getEventsList();
    myEventsList.initialize();
    myEventsList.data(storeEvents2);



},

店铺

Ext.define('XXX.store.Events2',{
    extend: 'Ext.data.Store',
    requires: ['Ext.data.proxy.JsonP'],

    config:{
        model: 'XXX.model.Event2',
        proxy:{

            type:'jsonp',
            url: Configurations.listAllTimetableEventsCustom,
            reader:'json'
        },
        autoLoad:true,

        sorters: [{ property: 'DateTimeStart', direction: 'ASC'}] ,

        grouper: {
            groupFn: function(item) {
                return item.get('convDate');
            },
            sortProperty: 'groupSorterProp',
            direction: "ASC"
        }

    }
});

看法

Ext.define("XXX.view.EventsList", {

    extend: "Ext.dataview.List",
    alias: "widget.eventslist",
    config: {

        loadingText: "Loading Events...",
        emptyText: '<div class="notes-list-empty-text">No notes found.</div>',
        onItemDisclosure: false,
        itemTpl:    '<div class="list-item-title">\n\
                        <div class="list-item-title-row">\n\
                            <div class="bl-hours"><span class="timetable-hours">{DateTimeStartConverted}</span></div>\n\
                               <div class="bl-event">{EventTitle}</div>\n\
                        </div>\n\
                     </div>',
        grouped: true

    }
});
4

1 回答 1

2

调用时应该会出错,data()因为此方法不存在。请改用setData

更新

您应该将自己绑定到 store 'load' 事件

populateViewsAfterLogIn: function (){
    var me = this,
        store = Ext.getStore('Events2');
    debugger

    me.getEventsList().setStore(store );
    store.load();
}

setData()期待一个数组而不是一个存储实例。在您的情况下,您应该在加载之前将商店绑定到列表。Sencha然后会关心任何事情。

于 2013-02-11T08:37:48.290 回答