Плагин таблицы данных и дерева jQuery EasyUI -Treegrid
Плагин jQuery EasyUI
Наследуется от $.fn.datagrid.defaults. Переопределите значения по умолчанию через $.fn.treegrid.defaults.
Treegrid используется для отображения иерархических данных в табличном формате. Он основан на datagrid и объединяет treeview и редактируемую таблицу. Treegrid позволяет создавать настраиваемые, асинхронно раскрываемые строки и отображать иерархические данные в нескольких столбцах.
Зависимости
- datagrid
Использование
Создайте treegrid из HTML-разметки. В большинстве случаев treegrid следует той же структуре и формату, что и datagrid.
<table id="tt" class="easyui-treegrid" style="width:600px;height:400px"
data-options="url:'get_data.php',idField:'id',treeField:'name'">
<thead>
<tr>
<th data-options="field:'name',width:180">Task Name</th>
<th data-options="field:'persons',width:60,align:'right'">Persons</th>
<th data-options="field:'begin',width:80">Begin Date</th>
<th data-options="field:'end',width:80">End Date</th>
</tr>
</thead>
</table>
Создайте treegrid с помощью JavaScript.
<table id="tt" style="width:600px;height:400px"></table>
$('#tt').treegrid({
url:'get_data.php',
idField:'id',
treeField:'name',
columns:[[
{title:'Task Name',field:'name',width:180},
{field:'persons',title:'Persons',width:60,align:'right'},
{field:'begin',title:'Begin Date',width:80},
{field:'end',title:'End Date',width:80}
]]
});
Свойства
Свойства наследуются от datagrid. Ниже перечислены свойства, добавленные для treegrid.
| Name | Type | Описание | Значение по умолчанию |
|---|---|---|---|
| idField | string | Определяет поле имени ключа, идентифицирующее узел дерева. Обязательно. | null |
| treeField | string | Определяет поле узла дерева. Обязательно. | null |
| animate | логическое значение | Определяет, показывать ли анимационный эффект при разворачивании или сворачивании узла. | false |
| loader | function(param,success,error) | Определяет, как загружать данные с удалённого сервера. Верните false, чтобы отменить действие. Эта функция имеет следующие параметры: param: Объект параметров, который будет передан удаленному серверу. success(data): функция обратного вызова, вызываемая при успешном получении данных. error(): функция обратного вызова, вызываемая при сбое получения данных. |
загрузчик JSON |
| loadFilter | function(data,parentId) | Возвращает отфильтрованные данные для отображения. |
Events
События наследуются от datagrid. Ниже перечислены события, добавленные для treegrid.
| Name | Parameters | Описание |
|---|---|---|
| onClickRow | row | Срабатывает при щелчке пользователя по узлу. |
| onDblClickRow | row | Срабатывает при двойном щелчке пользователя по узлу. |
| onClickCell | field,row | Срабатывает, когда пользователь щёлкает по ячейке. |
| onDblClickCell | field,row | Срабатывает, когда пользователь дважды щёлкает по ячейке. |
| onBeforeLoad | row, param | Срабатывает перед отправкой запроса на загрузку данных. Верните false, чтобы отменить действие загрузки. |
| onLoadSuccess | row, data | Срабатывает при успешной загрузке данных. |
| onLoadError | аргументы | Срабатывает при сбое загрузки данных. Параметр arguments такой же, как и метод 'error' в jQuery.ajax. |
| onBeforeExpand | row | Срабатывает перед развертыванием узла. Верните false, чтобы отменить действие развертывания. |
| onExpand | row | Срабатывает при развертывании узла. |
| onBeforeCollapse | row | Срабатывает перед сворачиванием узла. Верните false, чтобы отменить действие сворачивания. |
| onCollapse | row | Срабатывает при сворачивании узла. |
| onContextMenu | e, row | Срабатывает при щелчке правой кнопкой мыши по узлу. |
| onBeforeEdit | row | Срабатывает, когда пользователь начинает редактирование узла. |
| onAfterEdit | row,changes | Срабатывает, когда пользователь завершает редактирование. |
| onCancelEdit | row | Срабатывает, когда пользователь отменяет редактирование узла. |
Методы
Многие методы требуют параметр с именем 'id', который представляет значение узла дерева.
| Name | Parameters | Описание |
|---|---|---|
| options | none | Возвращает options для treegrid. |
| resize | options | Устанавливает размер treegrid. Параметр options содержит два свойства: width: Новая ширина treegrid. height: Новая высота treegrid. |
| fixRowHeight | id | Фиксирует высоту указанной строки. |
| loadData | data | Загружает данные treegrid. |
| load | param | Загружает и отображает первую страницу. Этот метод доступен начиная с версии 1.3.4. Пример кода:
// load and send some request parameters
$('#tg').treegrid('load', {
q: 'abc',
name: 'name1'
});
|
| reload | id | Перезагружает данные treegrid. Если передан параметр 'id', он перезагружает указанную строку дерева; в противном случае он перезагружает все строки дерева. Пример кода:
$('#tt').treegrid('reload', 2); // reload the row which value is equals to 2
$('#tt').treegrid('reload'); // reload the all rows
$('#tt').treegrid('reload', {id:2, q:'abc'}); // reload the specified row with 'q' parameter passing to server
|
| reloadFooter | footer | Перезагружает данные футера. |
| getData | none | Получает загруженные данные. |
| getFooterRows | none | Получает данные футера. |
| getRoot | none | Возвращает корневой узел и возвращает объект узла. |
| getRoots | none | Получает корневые узлы и возвращает массив узлов. |
| getParent | id | Получает родительский узел. |
| getChildren | id | Получает дочерние узлы. |
| getSelected | none | Получает выбранный узел и возвращает его. Возвращает null, если ни один узел не выбран. |
| getSelections | none | Получает все выбранные узлы. |
| getLevel | id | Получает уровень указанного узла. |
| найти | id | Находит указанный узел и возвращает данные узла. |
| select | id | Выбирает узел. |
| unselect | id | Снимает выделение с узла. |
| selectAll | none | Выбирает все узлы. |
| unselectAll | none | Снимает выделение со всех узлов. |
| collapse | id | Сворачивает узел. |
| expand | id | Разворачивает узел. |
| collapseAll | id | Сворачивает все узлы. |
| expandAll | id | Разворачивает все узлы. |
| expandTo | id | Разворачивает указанный узел от корня. |
| toggle | id | Переключает состояние узла между развернутым и свернутым. |
| append | param | Добавляет несколько дочерних узлов к родительскому узлу. Параметр 'param' включает следующие свойства: parent: id родительского узла. Если не указан, узел добавляется как корневой. data: Массив данных узлов. Пример кода:
// append some nodes to the selected row
var node = $('#tt').treegrid('getSelected');
$('#tt').treegrid('append',{
parent: node.id, // the node has a 'id' value that defined through 'idField' property
data: [{
id: '073',
name: 'name73'
}]
});
|
| insert | param | Вставляет узел до или после указанного узла. Параметр 'param' включает следующие свойства: before: Значение id узла, перед которым нужно вставить. after: Значение id узла, после которого нужно вставить. data: Данные нового узла. Пример кода:
// insert a new node before the selected node
var node = $('#tt').treegrid('getSelected');
if (node){
$('#tt').treegrid('insert', {
before: node.id,
data: {
id: 38,
name: 'name38'
}
});
}
Этот метод доступен начиная с версии 1.3.1. |
| remove | id | Удаляет узел и его дочерние узлы. |
| pop | id | Извлекает узел и возвращает данные узла, включая его дочерние узлы, после удаления узла. Этот метод доступен начиная с версии 1.3.1. |
| refresh | id | Обновляет состояние указанного узла. |
| update | param | Обновляет указанный узел. Параметр 'param' включает следующие свойства: id: Идентификатор обновляемого узла. row: Данные новой строки. Пример кода:
$('#tt').treegrid('update',{
id: 2,
row: {
name: 'new name',
iconCls: 'icon-save'
}
});
Этот метод доступен начиная с версии 1.3.1. |
| beginEdit | id | Начинает редактирование узла. |
| endEdit | id | Завершает редактирование узла. |
| cancelEdit | id | Отменяет редактирование узла. |
| getEditors | id | Возвращает редактор указанной строки. Каждый редактор имеет следующие свойства: actions: Действия, которые может выполнять редактор. target: Объект jQuery целевого редактора. field: Имя поля. type: Тип редактора. |
| getEditor | param | Возвращает указанный редактор. Параметр param содержит два свойства: id: Идентификатор узла строки. field: Имя поля. |
jQuery EasyUI Plugin Другие расширения