Цикл статей «Документация jqGrid на русском».
Следующая статья — «Метод viewGridRow в jqGrid».
Предыдущая статья — «Метод editGridRow в jqGrid».
Метод editGridRow также используется для добавление данных. Для этого передаётся "new" в качестве rowid.
Этот метод использует общие свойства редактирования из colModel и editurl из jqGrid.
Пример вызова:
1 |
jQuery("#grid_id").editGridRow( "new", properties ); |
или с помощью нового API:
1 |
jQuery("#grid_id").jqGrid('editGridRow', "new", properties ); |
где
- grid_id — это id родительской таблицы
- properties — массив пар «имя:значение», включающий любые свойства и события из editGridRow.
Метод использует следующие свойства из языкового файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$.jgrid = { ... edit : { addCaption: "Add Record", editCaption: "Edit Record", bSubmit: "Submit", bCancel: "Cancel", bClose: "Close", saveData: "Data has been changed! Save changes?", bYes : "Yes", bNo : "No", bExit : "Cancel", ... }, ... } |
Эти свойства могут быть переопределены с помощью передачи их в качестве свойств в метод. При передаче в метод нужно использовать, например, bSubmit : "Submit", а не $.jgrid.edit.bSubmit : "Submit".
Свойства точно такие же, как и в editGridRow.
Как создаётся форма
При создании формы используются следующие правила:
- Скрытые поля включаются в форму, и им ставиться свойство display:none для строки в форме.
- В качестве идентификатора id редактируемого элемента используется name из colModel.
- В качестве атрибута name элемента редактирования используется name из colModel.
- Для облегчения манипуляцией элементами в форме редактирования каждая строка в форме имеет id равный "tr_" + name (from colmodel). Например:
1 2 3 4 5 6 7 |
<form ....> <table> <tr id='tr_myfield'> <td> Caption</td> <td>edited element named, in colModel, as "myfield"</td> </tr> ... </table> </form> |
Это позволяет легко скрывать и отображать строки в зависимости от условий в событии beforeShowForm.
Что отправляется на сервер
В режиме редактирования данные, отправляемые на сервер, являются объектом {} , который содержит:
- Пары «имя:значения», где name — это name элемента ввода в форме (это для всех элементов ввода)
- Дополнительно пара id:"_empty", где _empty означает, что добавляется новая строка.
- Дополнительно пара oper:"add", чтобы показать, что используется режим добавления.
- Если объект editData не пуст, то отправляемые данные расширяются им.
- Если объект, возвращённый из onclickSubmit не пуст, то отправляемые данные расширяются этим объектом.
Цикл статей «Документация jqGrid на русском».
Следующая статья — «Метод viewGridRow в jqGrid».
Предыдущая статья — «Метод editGridRow в jqGrid».