【问题标题】:Sencha touch 2: Sorting / Grouping automatically fire when update data in storeSencha touch 2:在存储中更新数据时自动触发排序/分组
【发布时间】:2013-07-08 01:07:12
【问题描述】:

我有一个模型如下:

Ext.define('MyProject.model.Contact', {
extend: 'Ext.data.Model',
config: {
    fields: [
        {
            name: 'ID'
        },
        {
            name: 'Image'
        },
        {
            name: 'Name'
        },
        {
            name: 'IsSelected'
        }
    ]
}

});

我有一家店使用这种模式。这家店有一个群组功能如下:

        groupFn: function(item) {
            if (item.get('Name')) {
                return item.get('Name')[0].toUpperCase();
            } else {
                return ' ';
            }
        }

我在listview中展示了这个store,listview的模板如下:

<img src="{Image}" height="45" width="45">
<span style="">{Name}</span>
<span style="float:right; padding-right: 40px;">
   <input type="checkbox" <tpl if="IsSelected === true">checked="checked"</tpl>/>
</span>

列表如下图所示:

当用户点击列表项时,我更新“IsSelected”字段如下:

onListItemTap: function(dataview, index, target, record, e, eOpts) {
    var isSelected = record.getData().IsSelected;
    if (isSelected === true) {
        record.set("IsSelected", false);
    } else {
        record.set("IsSelected", true);
    }
}

事件触发后,列表会自动更新。请看下图:

选中的所有项目都移到组的末尾。 有人知道吗?请告诉我为什么以及如何解决这个问题。谢谢。

【问题讨论】:

  • 你能手动运行sort吗?

标签: listview sorting sencha-touch-2 store grouping


【解决方案1】:

为您的商店添加分拣机:

    sorters : [{
        property : 'Name', 
        direction : 'Asc'
    }]

这是working fiddle

抱歉...那些小提琴链接永远无法正常工作 - 这是一个 working example 工作示例。

如果这不起作用,请告诉我,我可以为您提供我下载的代码。

祝你好运,布拉德

【讨论】:

  • 非常感谢布拉德。小提琴在工作,但我的不是。你能把你下载的代码发给我吗?等着你:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-08
  • 2015-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多