Класс wAjaxCrosstab предназначен для отображения матриц – разновидности таблиц, где на пересечении строк и столбцов содержатся упорядоченные данные. Подробнее о матрицах описано в п.Матрицы.
Основные параметры класса
Параметр | Значение по умолчанию | Описание |
col_objtype | Код (Id) типа объектов, который будет отображаться в столбцах матрицы. | |
row_objtype | Код (Id) типа объектов, который будет отображаться в строках матрицы. | |
col_extra_filter | Дополнительный sql-фильтр для отображения данных в столбцах. | |
row_extra_filter | Дополнительный sql-фильтр для отображения данных в строках. | |
caption | Заголовок страницы. | |
_caption_cells | array() | Дополнительные ячейки в области заголовка таблицы. |
rowslen | 30 | Количество строк на странице. |
max_rowslen | 100 | Максимальное количество строк на странице. |
colslen | 6 | Количество столбцов на странице. |
max_colslen | 50 | Максимальное количество столбцов на странице. |
jajaxcrosstab | true | Подключение wajaxcrosstab.js. |
jquery | true | Подключение jquery.js. |
jqueryui | true | Подключение jqueryui.js. |
jcontextmenu | true | Подключение contextmenu.js. |
editing | false | Возможность редактирования записей. |
edittype | b | Тип ячейки в матрице (b - bool, f - float,crud). |
listtable | listtable | Css-класс для всей таблицы. |
listgroup | listgroup | Css-класс для строк. |
listheader | listheader | Css-класс для строк заголовка таблицы. |
crossheadercol | crossheadercol | Css-класс для заголовка ячейки. |
crossfirstcol | crossfirstcol | Css-класс для первой ячейки. |
headercol | crossheader | Css-класс для заголовка столбца. |
listodd | listodd | Css-класс для четных строк. |
listeven | listeven | Css-класс для нечетных строк. |
en_row_contextmenu | true | Возможность контекстного меню для строк. |
en_col_contextmenu | true | Возможность контекстного меню для столбцов. |
reverse | false | Реверсный порядок отображения: первыми появляются данные для столбцов, далее - данные для строк. |
showMainmenu | true | Отображение главного меню |
popup_script | false | Подключение popupWindow.js |
en_mainmenu | true | Возможность отображать (печатать) главное меню |
Описание методов
addHidden()
public function addHidden($name = '', $val = '')
Добавляет скрытое поле к матрице.
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxcrosstab.class.php'); $w = new wAjaxCrosstab(); $w->col_objtype = 'sys_rights_roles'; $w->row_objtype = 'sys_users'; $w->addHidden('name_hidden','value_hidden'); $w->show();
В результате работы этого примера в таблице появляется дополнительный html-код:
< input id="name_hidden" name="name_hidden" value="value_hidden" type="hidden" >
addCell()
public function addCell($text = '', $align = '')
Добавляет дополнительную ячейку в заголовок матрицы.
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxcrosstab.class.php'); $w = new wAjaxCrosstab(); $w->col_objtype = 'sys_rights_roles'; $w->row_objtype = 'sys_users'; $w->addCell('Data'); $w->show();
addRowContextMenu()
public function addRowContextMenu($name = '',$action = '', $querystring = '')
Добавляет контекстное меню к строке.
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxcrosstab.class.php'); $w = new wAjaxCrosstab(); $w->col_objtype = 'sys_rights_roles'; $w->row_objtype = 'sys_users'; $w->addRowContextMenu ($parser->gt('delete', __FILE__),'delete', '', false); $w->show();
addColContextMenu()
public function addColContextMenu($name = '',$action = '', $querystring = '')
Добавляет контекстное меню к колонке.
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxcrosstab.class.php'); $w = new wAjaxCrosstab(); $w->col_objtype = 'sys_rights_roles'; $w->row_objtype = 'sys_users'; $w-> addColContextMenu ($parser->gt('delete', __FILE__),'delete', '', false); $w->show();
addMainMenu0()
public function addMainMenu0($name = '', $action = '', $querystring = '')
Добавление элемента в меню (0 уровень) над списком.
$w = wAjaxCrosstab(); //… $w->addMainMenu0($parser->gt('delete', __FILE__),'delete', '', false); $w->show();
addMainMenu1()
public function addMainMenu1($name = '', $action = '', $querystring = '')
Добавление элемента в меню (1 уровень) над списком.
$w = wAjaxCrosstab(); //… $w->addMainMenu1($parser->gt('delete', __FILE__),'delete', '', false); $w->show();
addMainMenu2()
public function addMainMenu2($name = '', $action = '', $querystring = '')
Добавление элемента в меню (2 уровень) над списком.
$w = wAjaxCrosstab(); //… $w->addMainMenu2($parser->gt('delete', __FILE__),'delete', '', false); $w->show();
show()
public function show()
Отображение матрицы. Простой пример отображения матрицы, которая показывает связь между пользователями системы и ролями:
$parser->addCss('main/styles/wad-er.css'); include_once(SYS_BASE_PATH.'main/classes/wajaxcrosstab.class.php'); $w = new wAjaxCrosstab(); // Set object types for rows and columns $w->col_objtype = 'sys_rights_roles'; $w->row_objtype = 'sys_users'; // Allow editing $w->editing = true; // Print the cross-table $w->show();