2014-10-24 4 views
0

Я не могу удалить строку из моей сетки. Этот метод вызова с сервера, но без данных.Удалить запись из сетки extjs-4

Это метод:

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

Похоже, вы вытаскиваете 'запись' из элемента Form, но в магазине обычно будет заполняться' gridpanel'? Не могли бы вы показать код элемента 'form'? Я подозреваю, что «запись», которую вы выходите из формы, не будет ссылаться ни на что в «магазине». Кроме того, 'destroy' является методом объекта' Model', а не 'Store'. – Steen

ответ

-1

Если вы можете получить в магазине ваших данных, вы можете попробовать store.remove(record)

уничтожить это прямой вариант конфигурации апи, это не функция, чтобы удалить запись из сетки. правильное имя функции удаляется.

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

Можете ли вы рассказать, как это будет соответствовать коду OP? – rene

Смежные вопросы