Класс wAjaxGrid предназначен для отображения таблиц. Данные на страницу передаются с помощью ajax-технологии. Подробнее о таблицах описано в п.Таблицы.
Основные параметры класса
Параметр | Значение по умолчанию | Описание |
q | null | wSql-объект. |
f | null | Объект класса wPrototype. |
_data | array() | Массив данных для таблицы. |
sql | Sql-запрос для формирования данных таблицы. | |
caption | Заголовок страницы. | |
colnames | Заголовки столбцов таблицы. | |
multiselect | 0 | Показывать ли checkbox`ы для выбора строк таблицы (для редактирования или удаления нескольких элементов). |
pagelen | 20 | Количество строк на странице при постраничной разбивке записей. |
max_pagelen | 500 | Максимальное количество строк на странице. |
group_col | -1 | Номер колонки, по которой происходит группировка. |
edit_table | Название редактируемой таблицы в sql-запросе. | |
edit_table_alias | Псевдоним редактируемой таблицы в sql-запросе. | |
edit_keyfield | id | Ключевое поле редактируемой таблицы в sql-запросе. |
cardurl | Url для карточки объекта | |
jajaxgrid | true | Подключение wajaxgrid.js. |
jquery | true | Подключение jquery.js. |
jqueryui | true | Подключение jqueryui.js. |
jcontextmenu | true | Подключение contextmenu.js. |
adding | false | Возможность добавления записей |
editing | false | Возможность редактирования записей. |
copying | true | Возможность копирования записей. |
editing | false | Возможность редактирования записей. |
deleting | false | Возможность удаления записей. |
delete_all | true | Возможность удаления всех записей, если разрешено удаление одной записи. |
listtable | listtable | Css-класс для всей таблицы. |
listgroup | listgroup2 | Css-класс для строк. |
listheader | listheader | Css-класс для строк заголовка таблицы. |
headercol | headercol | Css-класс для заголовка ячейки. |
listodd | listodd | Css-класс для четных строк. |
listeven | listeven | Css-класс для нечетных строк. |
editorinput | editorinput | Css-класс для ячейки редактирования. |
oninsert_callback | Добавление javascript callback функции. | |
visible | true | Печатать ли на странице таблицу. |
func_on_empty | true | При задании функции для всей колонки возможность включать функцию для строк с пустым значением. |
popup_script | false | Подключение popupWindow.js |
print_summary | false | Печать итоговой информации по колонкам |
editonid | true | Возможность открыть форму редактирования объекта при клике на колонке Код (ID) объекта. |
debug | false | Сохранение текста sql-запроса в системные сообщения. |
delimiter | , | Разделитель полей для csv-формата. |
_caption_cells | array() | Дополнительные ячейки в заголовке таблицы. |
multiadding | true | Возможность не закрывать окно после добавления объекта. |
readonlyform | false | Режим чтения. Не показывается кнопка редактирования при обновлении записи. |
simplegrid | false | Режим простой таблицы. Показывается только таблица и пагинатор. Не показываются дополнительные меню, ячейки заголовка и т.д. |
show_reload | true | Отображение кнопки перезагрузки. |
mess | Сообщение, которое может быть напечатано в заголовке таблицы. | |
onopendialog | Название Callback-функции, которая вызывается при открытии диалогового окна. | |
onclosedialog | Название Callback-функции, которая вызывается при закрытии диалогового окна. | |
data_numrows | 0 | Размер массива данных для таблицы. |
Описание методов
show()
public function addData($val)
Отображение таблицы. Простой пример отображения таблицы объектов (код необходимо поместить или в контролер, или в представление).
$this->parser->addCss('main/styles/wad-er.css'); $fn = __FILE__; include_once(SYS_BASE_PATH.'main/classes/wajaxgrid.class.php'); $w = new wAjaxGrid(); $w->container = 'ajaxgrid_simplegriddb'; $w->pagelen = 5; $w->caption = $this->parser->gt('Objects_list', $fn); // Set sql $w->q->select('c.objid', $this->parser->gt('id', $fn)); $w->q->lselect('c.name', $this->parser->gt('name', $fn)); $w->q->select('c.description', $this->parser->gt('continent', $fn)); $w->q->from('sys_objects c'); $w->q->orderby('c.objid'); // Print the grid $w->show();
addData()
public function addData($val)
Добавление данных к набору данных таблицы.
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxgrid.class.php'); $w = new wAjaxGrid(); $w->cols = 3; //данные будут в 3-х колонках $w->rows = 10; //по 10 строк на странице $w->addData('name'); $w->addData('name1'); $w->addData('name2'); $w->show();
addCard()
public function addCard($col = 0, $idcol = 0, $url = '', $pars = '')
Добавляет карточку объекта к указанной колонке. Пример добавления карточки объекта к колонке «Название»:
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxgrid.class.php'); $f = new wAjaxGrid (); $f->q->select('objid', $parser->gt('id')); $name_col = $f->q->lselect('name', $parser->gt('name'), array('func' => 'open_doccard')); $f->q->select('avatar', $parser->gt('avatar')); $f->q->from('sys_objects'); $f->q->where("objid<>'0'"); $f->addCard($name_col, 0, $parser->makeUrl('sys_object_form')); $f->show();
addRow()
public function addRow($cols = '', $style = '')
Добавление дополнительной строки к таблице.
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxgrid.class.php'); $f = new wAjaxGrid (); $f->q->select('objid', $parser->gt('id')); $name_col = $f->q->lselect('name', $parser->gt('name'), array('func' => 'open_doccard')); $f->q->select('avatar', $parser->gt('avatar')); $f->q->from('sys_objects'); $f->q->where("objid<>'0'"); $f->addRow('addRow'); $f->show();
addHidden()
public function addHidden($name = '', $val = '')
Добавляет скрытое поле к таблице.
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxgrid.class.php'); $w = new wAjaxGrid (); //… $w->addHidden('name_hidden','value_hidden'); $w->show();
В результате работы этого примера в таблице появляется дополнительный html-код:
addCell()
public function addCell($text = '', $align = '')
Добавляет дополнительную ячейку в заголовок таблицы.
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxgrid.class.php'); $w = new wAjaxGrid (); //… $w->addCell('Data'); $w->show();
addContextMenu()
public function addContextMenu($name = '',$action = '', $querystring = '', $to_end = true)
Добавляет в контекстное меню элемента новый пункт.
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxgrid.class.php'); $w = new wAjaxGrid (); //… $w->addContextMenu($parser->gt('delete', __FILE__),'delete', '', false); $w->show();
addMainMenu0()
public function addMainMenu0($name = '', $action = '', $querystring = '')
Добавление элемента в меню (0 уровень) над списком.
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxgrid.class.php'); $w = new wAjaxGrid (); //… $w->addMainMenu0($parser->gt('delete', __FILE__),'delete', '', false); $w->show();
addMainMenu1()
public function addMainMenu1($name = '', $action = '', $querystring = '')
Добавление элемента в меню (1 уровень) над списком.
$w = wAjaxGrid(); //… $w->addMainMenu1($parser->gt('delete', __FILE__),'delete', '', false); $w->show();
addMainMenu2()
public function addMainMenu2($name = '', $action = '', $querystring = '')
Добавление элемента в меню (2 уровень) над списком.
$w = wAjaxGrid(); //… $w->addMainMenu2($parser->gt('delete', __FILE__),'delete', '', false); $w->show();
addSearchField()
public function addSearchField($name = '', $label = '', $pars = 's')
Добавляет поле для поиска.
$w = wAjaxGrid(); //… $w-> addSearchField ('year',$parser->gt('year')); $w->show();
laddSearchField()
public function laddSearchField($name = '', $label = '')
Добавляет мультиязычное поле для поиска.
$w = wAjaxGrid(); //… $w-> laddSearchField ('year',$parser->gt('year')); $w->show();
printSummary()
public function printSummary()
Добавление итоговой информации по колонкам.
$w = wAjaxGrid(); //… $w-> printSummary (); $w->show();
setRowclass()
public function setRowclass($rs)
Устанавливает css-класс для строки.
$w = wAjaxGrid(); //… $w-> printSummary (); $w->show();