Привет, ребята Я создаю веб-приложение с редактируемым jqGrid (v4.4) и по умолчанию, когда вы находитесь в режиме редактирования (встроенное редактирование), и вы нажимаете клавишу Enter, он вызывает метод saveRow jqGrid, который фактически пытается сохранить строку.Пользовательские привязки для переопределения существующих
Проблема в том, что я использую собственный способ сохранения моих строк, и я использую saveRow только после того, как сначала сделаю что-то другое.
Я создал клавиш для Enter, как это:
$(document).keyup(function (e) {
if (e.keyCode == 13) {
if (lastsel) {
jQuery('#list').jqGrid('saveRow', lastsel, false, 'clientArray');
var rowData = jQuery('#list').jqGrid('getRowData', lastsel);
// alert(rowData);
// alert(JSON.stringify(rowData));
jQuery.post('Home/Save?inputEmployee=', JSON.stringify(rowData));
lastsel = false;
}
}
});
Проблема заключается в том, что она делает и то, что jqGrid определили для связывания И то, что я выше.
Есть ли способ избавиться от предыдущего привязки для ввода до того, как я воспользуюсь моим?
EDIT: Я Inculed мой HomeController Сохранить метод:
public void Save(string inputEmployee)
{
Employee employeeData = JsonConvert.DeserializeObject(inputEmployee.ToString(), typeof(Employee)) as Employee;
var context = new EmployeeDataContext();
Employee employee = context.Employees.Single(e => e.ID == employeeData.ID);
employee = employeeData;
context.SubmitChanges();
}
Так что я делаю, я создал LINQ к модели SQL и я использую это контекст для получения/набор данных из/в базу данных. Поэтому я подумал, что передаю строковый объект Employee в качестве параметра, а затем десериализую его с помощью моего контроллера.
Это может помочь мне, я думаю.Я обновил свой вопрос с помощью метода Save из моего HomeController, чтобы вы могли прокомментировать мой пост jQuery, если сможете. –
@PanagiotisPalladinos: Я думаю, что вы должны использовать что-то вроде '$ .post (« Главная/Сохранить », {inputEmployee: JSON.stringify ($ this.jqGrid (« getRowData », rowid))});' или '$. post («Главная/Сохранить», JSON.stringify ({inputEmployee: $ this.jqGrid ("getRowData", rowid)})); 'зависит от других настроек. – Oleg
Отлично! Первый вариант сработал. Теперь у меня возникают проблемы с фактическим обновлением строки с LINQ to SQL, но это еще одна история, так как данные передаются правильно контроллеру хе-хе. Спасибо за ваш ответ! –