Цикл статей «Документация jqGrid на русском».
Следующая статья — «Table to jqGrid».
Предыдущая статья — «Пример сводной таблицы (Pivot Table) в jqGrid».
Иногда бывает полезно иметь возможность выгрузки и загрузки всей конфигурации jqGrid в файл:
- Таблицы, построенные на сервере, могут быть перестроены позже с сортировкой и постраничной навигацией, поэтому другая конфигурация может быть легко применена, если нужно.
- Таблицы может быть визуально построены на сервере, а затем загружены из XML-строки.
- Конфигурация таблицы может быть сохранена в базе данных как XML и позже загружена.
Важно знать, что jqGrid может загрузить конфигурацию и данные за один раз.
Установка
Для того чтобы использовать этот модуль, нужно выбрать Import/Export иXML/JSON utils при загрузке таблицы. За подробностями обратитесь к статье «Установка jqGrid».
Разработчики могут посмотреть исходные коды в файлах JsonXml.js и grid.import.js в каталоге src.
Методы
Выгрузка
Для выгрузки используется метод jqGridExport:
1 |
jQuery("#grid_id").jqGrid('jqGridExport', options); |
Где
- grid_id — это id уже построенной таблицы.
- 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.
1 |
jQuery("#grid_id").jqGrid('jqGridImport', options); |
Где
- 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».