动态添加和删除商店石斑鱼

时间:2014-01-09 07:56:02

标签: sencha-touch sencha-touch-2.1

我正在使用商店在列表中显示一些数据。商店在一个屏幕上有一个石斑鱼,在另一个屏幕上没有石斑鱼。我可以在strore中动态添加和移除石斑鱼。 感谢各种支持。

这是代码:

Ext.define('MyApp.store.mystore',{

extend: 'Ext.data.Store',
requires: ['Ext.data.proxy.LocalStorage'],
config: {
    identifier: {
        type: 'uuid',
    },
    fields: [
        {name: 'Fname', type: 'string'},
        {name: 'Lname', type: 'string'}

    ],
    remoteSort: true,
    /* grouper: {
     groupFn: function(record) {
     if(localStorage.getItem('mainCategory')=='CONSOLIDATE REPORT')
     return record.get('mainCategory');
     else
     return record.get('category_name');
     }
     },*/
    // groupField: ['Fname'],
    proxy: {
        type: 'localstorage',
        id: 'myyystore'
    }
}

});

我的清单现在没有石斑鱼属性。

我的要求是在一个屏幕上显示带有石斑鱼(Fname)的列表,而在另一个屏幕上没有石斑鱼。

2 个答案:

答案 0 :(得分:0)

您可以拥有两个不同的Ext.List并控制grouped配置。

或者你可以在实例化时传递它:

var list = Ext.create('Myapp.view.MyList');
list.setGrouper(true);

myMainNavigation().push({
    xtype: 'my-list',
    grouped: true
});

希望有所帮助 -

答案 1 :(得分:0)

在添加列表的视图内,您要分组和
在视图的initialize方法内添加:

var store = this.down('.list').getStore();

store.sort({
    groupFn: function(record) {
        var isReport = (localStorage.['mainCategory'] === 'CONSOLIDATE REPORT');

        return record.get(isReport ? 'mainCategory' : 'category_name');
    }
});