Колонки

Колонки - неотъемлемая часть любой таблицы.
В jqGridPHP настройки колонок хранятся в переменной $this→cols.

Настройки колонок представляют собой ассоциативный массив.
Его ключ - это уникальный идентификатор колонки. Часто он совпадает с именем колонки в базе данных.
Значение - это массив с опциями.

Колонки используются во многих функциях и обязательно должны быть определены в методе init.

Опции

Опции колонок в точности соответствуют стандартным опциям в colModel.

Также в jqGridPHP используется несколько дополнительных опций, необходимый для работы серверной части.

Понимание принципов работы этих опций очень важно для эффективного использования jqGridPHP.
По каждой из них представлен отдельный пример и разъяснение.

Настройка Тип Описание Примеры
db string Представление колонки в базе данных. Принимаются имена полей, сложные SQL-выражения, sub-select. Подробнее...
db_agg string Aggregate-функция, вычисляемая для колонки. Принимаются стандартные функции: count, sum, min, max, avg. Всё остальное напрямую подставляется в запрос, подобно опции «db». Подробнее...
manual boolean Если true, колонка не будет выбираться из базы данных. Опция «db» игнорируется. Значение колонки обязательно должно быть вручную определено внутри функции parseRow. Подробнее...
unset boolean Если true, колонка будет выбираться из базы данных, но не будет отображаться в таблице, и значения не будут передаваться в результате (в отличие от hidden). Подробнее...
search_op string Функция поиска. Если явно не указана, то скрипт пытается определить её автоматически. Подробнее...
null mixed На что заменять значение Null при выводе. Можно указать пустую строку, или прочерк »-», или »-пусто-». По-возможности, рекомендуется использовать средства базы данных для этих целей. Например, функцию COALESCE. Подробнее...
encode boolean Если true, значения в колонке будут кодироваться функцией htmlspecialchars при выводе. Это необходимо для предотвращения XSS-атак и нарушений в верстке страницы.

Опции по умолчанию

В реальной жизни часто возникают ситуации, когда одну из опций нужно повторить для всех или для большинства колонок. Эти повторения делают код длиннее, и в нем сложнее разобраться.

Специально для этих случаев существует переменная $this→cols_default. Передайте в неё массив с опциями колонок «по умолчанию».

Например:

#default column align is 'left'

#set new default
$this->cols_default = array('align' => 'center');
 
$this->cols = array(
    'id'    =>array('label' => 'ID',
                    ...           //this column align is 'center' (default)
                    ),
    'name'  =>array('label' => 'name',
                    'align' => 'left', //this column align is 'left'
                    ),
);

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