从网格extjs-4中删除记录

时间:2014-10-24 12:05:44

标签: extjs extjs4

我无法从网格中删除行。 这是来自服务器的调用方法,但没有数据。

这是方法:

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数据 - 数据变空。 内部记录我看到行的数据。 从网格这个也没有从DB中删除。 我做错了什么???

这种方法运作良好:

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();
    },

1 个答案:

答案 0 :(得分:-1)

如果您可以获取数据存储,可以尝试store.remove(record)

destroy是直接api配置选项,它不是从网格中删除记录的功能。删除正确的函数名称。

this.getUsersStore().remove(record);
this.getUsersStore().sync();