【问题标题】:Dynamically add and remove store grouper动态添加和删除商店石斑鱼
【发布时间】:2014-01-09 07:56:02
【问题描述】:

我正在使用商店在列表中显示一些数据。商店在一个屏幕中有一个石斑鱼,而在另一个屏幕上没有石斑鱼。我可以动态添加和删除一个石斑鱼吗? 感谢大家的支持。

这是代码:

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'
    }
}

});

我的列表现在没有 grouper 属性。

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

【问题讨论】:

    标签: sencha-touch sencha-touch-2.1


    【解决方案1】:

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

    或者你可以在实例化的时候直接传递:

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

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

    希望对你有帮助-

    【讨论】:

    • 感谢您的回复。但是店里现在没有grouper了,能不能动态设置store grouper,因为我需要一屏的grouped store
    • 请记住,列表和商店都有其分组配置。因此,您可以将商店分组,如果您在 LIST 中设置 grouped: false,它将不会显示为已分组。
    【解决方案2】:

    在您添加列表的视图中,您要对其进行分组和
    在视图的初始化方法里面添加:

    var store = this.down('.list').getStore();
    
    store.sort({
        groupFn: function(record) {
            var isReport = (localStorage.['mainCategory'] === 'CONSOLIDATE REPORT');
    
            return record.get(isReport ? 'mainCategory' : 'category_name');
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 2017-11-15
      • 2013-10-29
      • 2012-09-06
      • 2020-01-05
      • 2013-11-07
      • 1970-01-01
      相关资源
      最近更新 更多