美好的一天,为令人困惑的头衔道歉。
我正在构建一个Web应用程序,我有一个网格面板A,它有一个使用模型A的存储A.当用户点击带有ID的某个条目E并单击删除按钮时,我想要发生的是获取商店B,然后删除与所选条目E具有相同ID的条目。
基本上,我正在尝试做的是某种“跨店”模式删除。存储A中的模型被选中,但存储B中的条目被删除。
这是我到目前为止所做的:
var userStore = Ext.getStore('borrowerListStore'); //this is Store B
var model = Ext.ModelManager.create({
}, 'myAppLicationName.model.borrowerList'); //this is Model B
model.set("ID", personID); //person id here is the ID of Entry E selected earlier
Ext.getBody().mask('Starting Client Delete...');
userStore.remove(model); //I remove the model from the store
//then I sync the store
userStore.sync({
success: function(batch){
Ext.getBody().unmask();
console.log('delete user details success');
},
failure: function(batch){
Ext.getBody().unmask();
console.log('delete user details failure');
}
});
但是,我被困在屏蔽屏幕上。
我还尝试首先加载商店,然后删除然后同步商店:
userStore.load({
callback: function() {
userStore.remove(model);
}
});
但是,我仍然卡在加载屏幕上。
有没有办法根据模型属性删除跨店模型?我知道我可以获得商店B然后遍历模型,然后删除其ID与用户选择的ID匹配的那个。我的问题是,如果我的商店里有很多记录,那么搜索这些记录需要花费很多时间。
非常感谢任何帮助。谢谢。
答案 0 :(得分:0)
好吧我是个白痴。
我做了类似的事情:
userStore.getProxy().extraParams = {
selectedUserID: personID
};
如果selectedUserID
被传递,我在php中有一个if-else处理部分,我会在我的Where子句中使用它查询数据库,所以我最终得到1个条目。