Я не могу удалить строку из моей сетки. Этот метод вызова с сервера, но без данных.Удалить запись из сетки 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();
},
Похоже, вы вытаскиваете 'запись' из элемента Form, но в магазине обычно будет заполняться' gridpanel'? Не могли бы вы показать код элемента 'form'? Я подозреваю, что «запись», которую вы выходите из формы, не будет ссылаться ни на что в «магазине». Кроме того, 'destroy' является методом объекта' Model', а не 'Store'. – Steen