Sencha Touch更新列表与代理

时间:2013-06-10 10:25:08

标签: list sencha-touch-2 loading

您好我的sencha应用程序上有待办事项列表,我想在此列表中添加一个项目。 此列表由具有数据库数据的Web服务提供

当我添加一个项目时,我可以在我的数据库中检索他,但列表没有刷新,我不明白该怎么做。

有人可以帮助我吗?

这里是我的清单:

 config: {
            id:'Listetaches',
            grouped:true,
            store:'PokerStore',
            sorters:'Tache_Libelle',
            itemTpl:'{Tache_Libelle} <br/>  Durée estimé : {Tache_Estimation} h',

            onItemDisclosure :true          
}

这是我的商店:

  config:{

    model:'PlanningPoker.model.Poker',
    autoLoad:true,
    id:'storeList',
    grouper: function(record){
        return record.get('Tache_Libelle')[0];
    },
    proxy:{
        type:'ajax',
        url:'Myurl',
        useDefaultXhrHeader : false,
        reader:{
            type:'json',    
        },

    },
    autoSync: true,
}

这是我的控制器,我添加了一个项目

 onAddtache: function(button, e, options) {

    var libelle=Ext.getCmp('libelle').getValue();
    var description=Ext.getCmp('description').getValue();


    Ext.Ajax.request({
        url: 'Myurl',
        method: 'POST',
        useDefaultXhrHeader : false,
        params: {
            Libelle: libelle,
            Description:description,
        },
        callback: function(options, success, response) {
            console.log(response.responseText);
            button.up('navigationview').pop();

        }

    });
},

1 个答案:

答案 0 :(得分:1)

我认为您必须在添加商品后重新加载商店。

步骤1:在您的应用程序中,商店从数据库加载数据。 (数据保存在本地)

步骤2:然后向数据库添加新项目,但商店仍然具有步骤1的数据。

在Ajax请求的回调中添加store.load() or store.sync()

callback: function(options, success, response) {
   console.log(response.responseText);
   button.up('navigationview').pop();
   Ext.getStore('PokerStore').load();
}