我尝试使用本地数据制作一个网格面板http://jsfiddle.net/8um4T/
这个网格在列中添加和删除 sortable: true
,我将按 id 删除记录(但我的方式因大数据而失败)
这是我的数据
var simpleData = [];
var store = new Ext.data.ArrayStore({
fields: ['id', 'name',],
data: simpleData
});
for (i = 0; i < 20; i++) {
simpleData.push({id:''+i+'', name: 'name'+i});
}
store.loadData(simpleData);
我的 tbar 带有添加按钮
tbar:[
{
text:'Add',
handler:function(){
simpleData.push({id:'x', name: 'name'});
store.loadData(simpleData);
}
}
]
我的行动专栏
{
header: '',
xtype: 'actioncolumn'
, width: 50
, items: [{ // Delete button
icon: 'http://whatisextjs.com/BAHO/icons/cancel.png',
tooltip: 'Delete'
, handler: function(grids, rowIndex, colindex) {
var record = grid.getStore().getAt(rowIndex);
//Delete item in array
// if data is large will don't working
Ext.each(simpleData, function (items, idx) {
if (items.id == record.data.id) {
simpleData.splice(idx, 1);
}
});
//Delete record in store
grid.store.removeAt(rowIndex);
}
}]
}
如果 mydata 很小,则删除按钮将起作用。我的示例中的数据是 20 条记录,但不起作用
store
我的想法是从分配后删除记录simpleData
。但是如何做到这一点或有其他方法来解决我的问题谢谢
//grid.store.removeAt(rowIndex);
// simpleData = grid.store.data; // my idea is (but how)