Выгрузка и загрузка в jqGrid

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

Следующая статья — «Table to jqGrid».
Предыдущая статья — «Пример сводной таблицы (Pivot Table) в jqGrid».

Иногда бывает полезно иметь возможность выгрузки и загрузки всей конфигурации jqGrid в файл:

  1. Таблицы, построенные на сервере, могут быть перестроены позже с сортировкой и постраничной навигацией, поэтому другая конфигурация может быть легко применена, если нужно.
  2. Таблицы может быть визуально построены на сервере, а затем загружены из XML-строки.
  3. Конфигурация таблицы может быть сохранена в базе данных как XML и позже загружена.

Важно знать, что jqGrid может загрузить конфигурацию и данные за один раз.

Установка

Для того чтобы использовать этот модуль, нужно выбрать Import/Export иXML/JSON utils при загрузке таблицы. За подробностями обратитесь к статье «Установка jqGrid».

Разработчики могут посмотреть исходные коды в файлах JsonXml.js и grid.import.js в каталоге src.

Методы

Выгрузка

Для выгрузки используется метод jqGridExport:

Где

  1. grid_id — это id уже построенной таблицы.
  2. options — это массив пар «имя:значение» для настройки.

Рекомендуется сначала поиграть с этим методом перед использованием метода jqGridImport.

Свойство: exptype
Тип: string
Определяет тип экспорта. Возможные значения: "xmlstring" (конфигурация таблицы выгружается в XML), "jsonstring" (конфигурация таблицы выгружается в JSON).
По умолчанию: "xmlstring"

Свойство: root
Тип: string
Этот элемент устанавливает имя корневого элемента при экспорте данных. Конфигурация таблицы будет заключена в этот элемент. Для 'xmlstring' экспортированные данные могут выглядеть так:
<rootelement>jqgrid_configuration </rootelement>
. Для 'jsonstring' так:
{rootelement:{grid_configuration}}
По умолчанию:  'grid'

Свойство: ident
Тип: string
Отступ строки для красивого вывода.
По умолчанию: \t

Так как некоторые колонки таблицы создаются динамически (номера строк, подтаблицы и др.), метод выгрузки автоматически удаляет все ненужные данные и делает строку конфигурации, готовую к использованию методом jqGridImport.

При использовании этих методов свойство pager в таблице не должно быть указано как:
pager: jQuery("#mypager")
а должно быть:
pager : "#mypager"
или
pager : "mypager"
в противном случае загрузка или выгрузка не будут работать.

При выгрузке таблицы выгружается только конфигурация и связанные события. Навигатор не выгружается. Чтобы выгружать навигатор, нужно вручную создать навигатор в jqGridImport с помощью события importComplete. Смотрите подробности ниже.

Загрузка

Этот метод считывает конфигурацию таблицы в соответствии с правилами и строит таблицу. При построении таблицы в первый раз можно передать данные вместе с конфигурацией. Это делается с помощью метода jqGirdImport.

Где

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

Свойство: imptype
Тип: string
Определяет тип загрузки. Может быть одним из значений: "xml", "json", "xmlstring", "jsonstring".
По умолчанию: "xml"

Свойство: impstring
Тип: string
Это свойство должно быть установлено в случае использования "xmlstring" или "jsonstring".

Свойство: impurl
Тип: string
Корректный url для конфигурации с "xml" или "json". Данные будут браться с помощью AJAX-запроса на этот url.

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

Свойство: impData
Тип: object
Дополнительные данные, которые будут отправляться на url в виде пар «имя:значение».
По умолчанию: пустой объект {}

Свойство: xmlGrid
Тип: object
Описывает, откуда считывать XML-конфигурацию и откуда данные, если они есть. Свойство config описывает тег конфигурации. Свойство data описывает тег данных.
По умолчанию: config : "roots>grid", data: "roots>rows"

Свойство: jsonGrid
Тип: object
Описывает, откуда считывать JSON-конфигурацию и откуда данные, если они есть. Свойство config описывает тег конфигурации. Свойство data описывает тег данных.
По умолчанию: config : "grid", data: "data"

Свойство: ajaxOptions
Тип: object
Дополнительные свойства для AJAX-запроса.
По умолчанию: пустой объект {}

События

Есть только одно событие, вызываемое методом jqGridImport.

Событие: importComplete
Это событие возникает после успешного импорта, после того как таблица была создана. В обработчик этого события передаётся ответ сервера. Используйте это событие для установки дополнительных свойств таблицы или для построения навигатора.

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

Следующая статья — «Table to jqGrid».
Предыдущая статья — «Пример сводной таблицы (Pivot Table) в jqGrid».

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

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