Метод delGridRow в jqGrid

Цикл статей «Документация jqGrid на русском».

Следующая статья — «Метод GridToForm в jqGrid».
Предыдущая статья — «Метод viewGridRow в jqGrid».

Этот метод позволяет осуществить операцию удаления с сервера.

Этот метод использует colModel и editurl из jqGrid.

Пример вызова:

или с помощью нового API:

Где:

  • grid_id — id таблицы.
  • row_id_s — id строк для удаления. Может быть одиночным значениям или списком значений, разделённых запятыми.
  • options — массив пар «имя:значение», включающий любые из перечисленных ниже свойств и методов.

Метод использует следующие свойства из языкового файла:

Эти свойства могут быть переопределены с передачей их в метод в объекте свойств. При передаче в метод мы должны использовать bSubmit : "Delete", но не $.jgrid.del.bSubmit : "Delete".

Свойства

Свойство: top
Начальная позиция по вертикали модального диалогового окна. Значение по умолчанию 0 означает позицию по вертикали от левого верхнего угла таблицы. Если свойство jqModal установлено в true (смотрите ниже), и плагин jqModal доступен, то любое значение, отличное от 0 означает верхнюю позицию от верхнего левого угла окна.
По умолчанию: 0

Свойство: left
Начальная позицию по горизонтали. Значение по умолчанию 0 означает позицию по горизонтали от левого верхнего угла таблицы. Если свойство jqModal установлено в true (смотрите ниже), и плагин jqModal доступен, то любое значение, отличное от 0 означает позицию по горизонтали от левого верхнего угла окна.
По умолчанию: 0

Свойство: width
Ширина диалогового окна подтверждения.
По умолчанию: 300

Свойство: height
Высота диалогового окна подтверждения.
По умолчанию: «auto»

Свойство: dataheight
Высота прокручиваемого содержимого. То есть высота между заголовком и подвалом диалогового окна.
По умолчанию: auto

Свойство: modal
Должно ли быть диалоговое окно модальным. Работает только в том случае, когда плагин jqModal доступен.
По умолчанию: false

Свойство: drag
Может ли пользователь перетаскивать диалоговое окно. Работает только в том случае, когда плагин jqDnR доступен, или когда доступен widget dragable из jQuery UI.
По умолчанию: true

Свойство: resize
Можно ли изменять размер диалогового окна. Работает только в том случае, когда плагин jqDnR доступен, или доступен resizable widget из jQuery UI.
По умолчанию: true

Свойство: url
URL для отправки данных. Если указан, то заменяет значение из editurl.
По умолчанию: null

Свойство: mtype
Определяет тип запроса, который будет отправляться на сервер. Возможные значения: "POST" или "GET".
По умолчанию: "POST"

Свойство: delData
Массив, используемый для добавления дополнительного содержимого к данным, отправляемым на сервер.
По умолчанию: пусто

Свойство: jqModal
Если установлено в true, то для создания диалогов используется плагин jqModal (если доступен). Если установлено в true, и плагин недоступен, то jqGrid использует свою собственную функцию для создания диалоговых окон.
По умолчанию: true

Свойство: delicon
Массив. Определяет иконку для кнопку submit. Значение по умолчанию — [true,"left","ui-icon-delete"]. Первый элемент массива включает/выключает иконку. Второй элемент указывает, куда расположить уконку ( "left" или "right" ) Третий элемент указывает корректную иконку из темы.
По умолчанию:

Свойство: cancelicon
Массив. Определяет иконку для кнопки отмены. Значение по умолчанию — [true,"left","ui-icon-cancel"]. Смотрите более подробное описание в описании свойства delicon.
По умолчанию:

Свойство: reloadAfterSubmit
Перезагружает данные таблицы после отправки запроса на сервер.
По умолчанию: true

Свойство: closeOnEscape
Если установлено в true, то диалоговое окно может быть закрыто с помощью клавиши Esc.
По умолчанию: false

Свойство: ajaxDelOptions
Это свойство позволяет установить глобальные настройки AJAX-запросов. Они будут использоваться при отправке запросов на удаление данных. С помощью этого свойства можно переопределить текущие настройки AJAX, включая событие завершения.
По умолчанию: пустой объект

Свойство: zIndex
Начальный z-index для диалогового окна. Если вы хотите видеть диалоговую форму под другими элементами или диалогами, то вы должны использовать какое-нибудь значение большее значения по умолчанию равного 950. Во многих случаях это должно быть значение большее 1000 — значение по умолчанию для диалогов jQuery UI.
По умолчанию: 950

События

Событие: afterComplete
Это событие возникает сразу после окончания всех действий и обработчиков событий и добавления или обновления строки в таблице.
afterComplete : function (response, postdata, formid) {}
где
response — это данные, возвращённые сервером (если есть).
postdata — это данные, отправленные на сервер.
formid — объект jQuery идентификатора формы, вы можете использовать formid[0].id, чтобы получить id формы.

Событие: afterShowForm
Возникает после отображения формы. В качестве параметра принимает id созданной формы.
afterShowForm : function (formid) {}

Событие: afterSubmit
Возникает после получения ответа с сервера. Обычно используется для отображения статуса от сервера (например, данные успешно сохранены, или сохранение отменено по причине…). В обработчик этого события передаются: данные, возвращённые сервером, массив с отправленными значениями в виде пар id=value1,value2.
Обработчик этого события должен вернуть массив вида [success, message, new_id].
где
success — логическое значение, true в случае успешного завершения. Если false, то отображается сообщение об ошибке. Сообщение игнорируется, если success равен true.
new_id — может использоваться для установки id новой строки в таблице для режима добавления.
afterSubmit : function(response, postdata){return [success,message,new_id]}

Событие: beforeShowForm
Возникает перед отображением формы с новыми данными. В обработчик события в качестве параметра передаётся id созданной формы.
beforeShowForm : function(formid) {}

Событие: beforeSubmit
Событие возникает перед отправкой данных на сервер. В обработчик события передаётся в качестве параметра массив данных и formid.
beforeSubmit : function(postdata, formid) {return[success,message];}
Обработчик этого события должен вернуть массив со следующими значениями.
success boolean указывает, что процесс должен продолжиться (true), или должно отобразиться сообщение об ошибке (false).
message — сообщение об ошибке.

Событие: onclickSubmit
Возникает после нажатия кнопки отправки на сервер и создания postdata. В это событие передаются параметры: массив свойств метода и отправляемые данные. Обработчик события должен вернуть объект вида {}, который расширяет postdata.
onclickSubmit : function(params, posdata) {return {add_data}}

Событие: onClose
Это событие возникает перед закрытием формы, когда нажата иконка закрытия, кнопка отмены, Esc, или произошёл клик на слое тумана (если jqModal доступен). Событие может вернуть (но не обязательно) true. Если обработчик события возвращает true, то форма закрывается, если false, то форма не закрывается. Если ничего не возвращается, то форма закрывается.

Событие: errorTextFormat
Это событие может возникнуть при возникновении ошибки при AJAX-запросе и может использоваться для лучшего форматирования сообщений об ошибках. В обработчик этого события передаётся ответ сервера. Обработчик события должен вернуть сообщение об ошибке (не массив).

Событие: serializeDelData
Это событие может сериализовать данные, отправляемые с помощью AJAX-запроса. Функция должна возвращать сериализованные данные. Это событие может использоваться, когда необходимо отправить на сервер XML, JSON и др. В это событие передаются данные, которые нужно отправить на сервер.

Что отправляется на сервер

Данные, отправляемые на сервер при удалении, являются объектом {}, содержащим:

  • Пары id:rowids , где rowids может быть одиночным значением или строкой с значениями, разделённым запятыми.
  • Дополнительно пара oper:del, указывающая, что это режим удаления.
  • Если объект delData не пуст, то данные расширяются им.
  • Если объект, возвращённый из onclickSubmit, не пуст, то данные расширяются этим объектом.

Цикл статей «Документация jqGrid на русском».

Следующая статья — «Метод GridToForm в jqGrid».
Предыдущая статья — «Метод viewGridRow в jqGrid».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *