wildraid/jqGridPHP — Issue #2: Handling server-side exceptions while in-place editing -- is it supported?
Author: artvolk
Created: 2012-02-14 14:18:35+00:00
State: open

Привет ещё раз, issue #2, похоже тоже будет моя :)

Пытаюсь реализовать in-place редактирование одного поля в таблице. Сделал так:

На PHP стороне для колонки:
```PHP
'editable' => true
```

Перегрузил метод, выбрасываю в нём исключение
```PHP
protected function opEdit($id, $upd)
{
throw new jqGrid_Exception('Значение должно быть в диапазоне от 0 до 1!');
}
```

При редактировании значения в ячейке в Firebug вижу, что в ответ пришел JSON-объект с ошибкой:

```javascript
{ "error": "1", "error_msg": "Значение должно быть в диапазоне от 0 до 1!", "error_code": "0", "error_data": null, "error_type": "common" }
```

Но на клиенте сообщение об ошибке не отображается. Скорее всего дело в том, что вот это событие не вызывается при in-place редактировании:

```javascript
'loadComplete'	: function(data)
{
$.jgrid.ext.errorHandler(data);
}
```

Вопросы:
1. Правильно ли я все понимаю, или где-то что-то пропустил в документации и все должно работать из коробки?

2. В демках есть только редактирование с помощью всплывающего диалога, которое вызывается кнопкой на панели навигации (`$this->nav = array('edittext' => 'Edit', 'edit' => true);`), сценарий редактирования прямо в ячейке поддерживается?

3. Не нашел в документации упоминания о том, что для того, чтобы выброшенные на сервере исключения обрабатывались на клиенте, нужно подключить `jqgrid-ext.js`. Может, стоит добавить?