我正在使用Extjs 3.2grid。我有5个记录。我也在停止用户一次选择多行。在网格中我有按钮说批准。我想要的是一旦用户选择一个记录并点击批准选定的行coloumn " showRecord" 将变为1,并且剩余的行将变为 showrecord :0
这是我的代码
var proxy_surv = new Ext.data.HttpProxy({
type: 'ajax',
api : {
read : 'test/view.action?test='+testid_para+'&flag='+0,
create : 'test/create.action',
update : 'test/update.action',
destroy : 'test/delete.action'
}
});
var store_surv = new Ext.data.Store({
id : 'store_surv',
proxy : proxy_surv,
reader : reader,
autoSave : false
// <-- false would delay executing create, update, destroy
// requests until specifically told to do so with some [save]
// buton.
});
store_surv.on({
beforeload: {
fn: function (store, options) {
// Altering the proxy API should be done using the public
// method setApi.
store_surv.proxy.setApi('read', 'test/view.action?test='+testid_para+'&flag='+0);
}
}
});
这是我的逻辑
tbar: [{
iconCls: 'icon-user-add',
text: 'Approve',
handler: function(){
// Server hasn't returned yet for these two lines.
var survgrid=Ext.getCmp('grid_surv');
getstore =survgrid.getStore();
count =getstore.getCount();
var selected = survgrid.getSelectionModel().getSelected();
getstore.each(function(record){
if(parseInt(record.get('id'))==parseInt(selected.get('id')))
{
record.set('showRecord','1');
}
else
{
record.set('showRecord','0');
}
record.commit();
});
store_surv.save();
}
}
我的问题是它没有保存在数据库中
答案 0 :(得分:0)
不要使用record.commit()
它会说明所有更改都已更改的记录。它由store.sync()
自动调用。删除record.commit()
,它应该有效。你也可以使用'record.save()'来同步一条记录。