从网格extjs-4中删除记录
我无法从网格中删除行。 此调用方法来自服务器,但没有数据 这是一种方法:从网格extjs-4中删除记录,extjs,extjs4,Extjs,Extjs4,我无法从网格中删除行。 此调用方法来自服务器,但没有数据 这是一种方法: deleteUser: function(button) { var win = button.up('window'), form = win.down('form'), record = form.getRecord(); values = form.getValues(); record.set(values);
deleteUser: function(button) {
var win = button.up('window'),
form = win.down('form'),
record = form.getRecord();
values = form.getValues();
record.set(values);
win.close();
this.getUsersStore().destroy(record);
this.getUsersStore().sync();
此服务器方法:
[HttpPost]
public JsonResult Delete(UserInfo data)
{
bool success = false;
string message = "no record found";
if (data != null && data.Id > 0)
{
using (var db = new Db())
{
var rec = db.Users.Where(a => a.Id == data.Id).
FirstOrDefault();
rec.Name = data.Name;
rec.Email = data.Email;
db.SaveChanges();
success = true;
message = "Update method called successfully";
}
}
return Json(new
{
data,
success,
message
});
}
UserInfo数据-数据为空。
在记录中我看到了行的数据。
从网格中,也不会从数据库中删除此项。
我做错了什么
这种方法很有效:
updateUser: function(button) {
var win = button.up('window'),
form = win.down('form'),
record = form.getRecord(),
values = form.getValues();
record.set(values);
win.close();
this.getUsersStore().sync();
},
如果可以获得数据存储,可以尝试store.removerecord 销毁是直接api配置选项,它不是从网格中删除记录的函数。正确的函数名是remove
this.getUsersStore().remove(record);
this.getUsersStore().sync();
您能否详细说明这将如何适合OP的代码?看起来您是从表单元素中提取记录,但存储通常会填充gridpanel?您能否显示表单元素的代码?我怀疑你从表格中取出的记录不会涉及商店里的任何东西。此外,destroy是模型对象上的一种方法,而不是存储。