Функции jqGridPHP

В этом разделе вы можете увидеть краткую шпаргалку по функциям jqGridPHP.

Зеленым выделены функции, которые ничего не делают в базовом классе. Их назначение - быть перегруженными в классах таблиц. При их перегрузке вызывать parent не обязательно.

Красным выделены функции, которые уже выполняют какие-то действия в базовом классе. При их перегрузке следует помнить о том, что необходимо вызывать parent::имя_функции, если вы хотите сохранить стандартное поведение. Если же как раз необходимо полностью заменить стандартную логику - не вызывайте parent.

Список разбит на логические блоки.

Public-функции

Функция Назначение
output Вывод рядов в различных форматах.
oper Операции над данными. Стандартные и дополнительные.
render Создание кода для добавления jqGrid на страницу.
catchException Единый обработчик исключений, выброшенных в любом месте внутри классов jqGridPHP. В основном, от oper.

Init

Функции инициализации.

Функция Назначение
init Абстрактная функция, которая обязательно должна быть перегружена. В ней задаются основные настройки таблицы.
beforeInit Вызывается непосредственно перед init. Удобно для подключения всяких статических классов, загрузки и настройки дополнительных классов, необходимых в init.
afterInit Вызывается после init, но ДО иницилазации колонок. Полезно в том случае, если нужно проверить корректность данных, установленных в init.
initColumn Вызывается после init отдельно для каждой колонки. Приводит $this→cols в законченное состояние, применяет значения по умолчанию и т.д.

addRow

Добавление новых рядов к выводу.

Функция Назначение
addRow Принимает массив с данными для добавления ряда, производит необходимые операции и преобразования.
addRowCell Вызывается внутри addRow для каждого поля таблицы.
addRowComplete Вызывается внутри addRow перед добавлением нового элемента в $this→rows.
parseRow :!: Вызывается внутри addRow перед всеми остальными действиями. Предназначена для преобразования данных между их выборкой из источника и сборкой ответа клиенту. Это наиболее часто перегружаемая функция, поэтому вынесена отдельно из состава addRow.

buildQuery

Этот блок отвечает за построение запросов. Изменяя их, вы можете приспособить jqGridPHP для работы с другими базами данных, или даже полностью изменить логику построения запросов.

Функция Назначение
buildQueryAgg Создает AGG-запрос.
buildQueryRows Создает ROWS-запрос.
buildFields Собирает поля для SELECT для ROWS-запроса.
buildFieldsAgg Собирает поля для SELECT для AGG-запроса.
buildLimitOffset Собирает LIMIT и OFFSET для ROWS-запроса
buildOrderBy Собирает сортировку для ROWS-запроса.
buildWhere Собирает условие для WHERE.

Oper

Функции операций.

Функция Назначение
opAdd Стандартная операция Add (Insert).
opEdit Стандартная операция Edit (Update).
opDel Стандартная операция Del (Delete).
operData :!: Обработка входящих данных для opAdd и opEdit. Для них часто нужны похожие проверки.
operAfterAddEdit Функция вызывается после opAdd и opEdit, принимает id созданного или измененного ряда. Удобно для загрузки файлов и пост-обработки.
operComplete Функция вызывается после завершения любой операции, но до отправки ответа на клиент.

Функции дополнительных операций должны начинаться с префикса op. Например, для операции truncate будет функция opTruncate.

Render

Функции рендеринга.

Функция Назначение
renderColumn Функция вызывается для каждой колонки. Позволяет изменить те или иные опции colModel. Изменения окажут влияние только на рендеринг.
renderGridUrl Возвращает url, по которому ваше приложение поймет, к какой таблице обращаться. По умолчанию просто добавляет ?jqgrid=имя_таблицы.
renderOptions Позволяет изменить настройки таблицы. В отличие от init, вызывается только при рендеринге.
renderNav Позволяет изменить настройки навигатора. Если вернет null - навигатор вообще не будет создан.
renderPostData Позволяет установить опцию postData. Вынесено отдельно потому, что postData требуется менять намного чаще, чем другие. Часто используется для создания невидимых фильтров.
renderComplete Собирает данные, полученные из предыдущих функций, и составляет из них готовый javascript-код.

Search

Поиск.

Функция Назначение
search Осуществляет сборку условий на основании входящих данных для подстановки в WHERE.
searchOpAuto Автоматический тип поиска.
searchOpIgnore Игнорировать поиск по колонке
searchOpEqual Поиск по '='
searchOpLike Поиск по маске 'LIKE'
searchOpNumeric Поиск по числу или диапазону

Функции дополнительных типов поиска должны начинаться с префикса searchOp. Например, для типа date будет функция searchOpDate.

Getters

Функция Назначение
getInputData Функция принимает входящие данные из $_REQUEST, преобразует кодировку (если необходимо) и записывает их в $this→input. Эта функция - единственная точка входа для переменных. Перегрузите её, если у вас нестандартный источник входящих данных.
getOutputParams Анализирует входящие переменные, проверяет их и устанавливает базовые переменные для вывода рядов таблицы: page, rows, sidx, sord.
getDataAgg Получает AGG-данные. По умолчанию инициирует сборку AGG-запроса и выполняет его. Данные записывает в $this→agg как есть.
getDataRows :!: Получает ROWS-данные. Записывает их в массив $this→rows при помощи функции addRow. Если вы будете перегружать эту функцию - не забывайте вызывать addRow. Не пишите ряды напрямую!
getDataUser Собирает userdata. По умолчанию только передает значения agg.

Others

setExportData Принимает объект с функциями для экспорта. Передает в него внутренние данные из объекта таблицы. Если вам нужны какие-то дополнительные данные для экспорта - добавьте их здесь.
setRowCount Рассчитывает общее количество рядов и сопутствующие переменные: кол-во страниц, номер страницы и т.д. Требуется при выводе.
json Принимает массив, сериализует его JSON и выводит одним из способов. Сейчас поддерживаются обычный JSON и ответ для iframe от ajaxForm. В будущем добавится JSONP.
input Сокращалка для радикального уменьшения кол-ва isset в коде.

На других языках