【发布时间】: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