我有一家商店
商店
Ext.define('App.mystore', {
extend: 'Ext.data.Store',
model: 'App.mymodel',
autoLoad: false,
proxy: {
type: 'ajax',
api: {
read: 'read.php',
create: 'create.php',
update: 'update.php'
},
reader: {
type: 'json',
root: 'data',
totalProperty: 'total',
successProperty: 'success'
},
writer: {
root: 'records',
encode: true,
writeAllFields: false
}
}
});这个存储是一个网格,点击一个按钮,我可以添加一行,如果我选择了一些以前的(插入到数据库中)行,我可以编辑它的数据。
完成所有操作后,我单击一个按钮将存储与数据库同步。
此按钮用以下代码调用函数:
onSave:function(){
var Store=Ext.ComponentQuery.query('mygrid')[0].getStore();
Store.getProxy().setExtraParam('param1',this.Param1);
Store.getProxy().setExtraParam('param2',this.Param2);
Store.getProxy().setExtraParam('param3',this.Param3);
Store.sync({
scope:this,
success : function(response){
Ext.Msg.show({
title: 'Information',
msg: 'All OK',
icon: Ext.MessageBox.INFO,
buttons: Ext.Msg.OK
});
},
failure:function(response){
Ext.Msg.show({
title: 'warning',
msg: 'Error',
icon: Ext.MessageBox.WARNING,
buttons: Ext.Msg.OK
});
}
});
},我可以分两个步骤同步存储,首先是新记录,然后是修改记录?因为我需要知道这两个操作是否成功。因为用户可以添加新行并编辑一些旧行。
发布于 2017-01-02 15:32:31
商店的"前滨c“事件在这里可能很有用。第一个参数是一个对象,其操作类型为键,操作列表为值。因此,您可能能够操作将执行的操作类型。
https://stackoverflow.com/questions/41425547
复制相似问题