jQuery EasyUI Complemento de cuadrícula de datos y árbol -Treegrid Cuadrícula de árbol
Complementos jQuery EasyUI
Extendido desde $.fn.datagrid.defaults. Sobrescriba los defaults predeterminados mediante $.fn.treegrid.defaults.
La cuadrícula de árbol (treegrid) se utiliza para mostrar datos jerárquicos en forma de cuadrícula. Se basa en la cuadrícula de datos (datagrid) y combina la vista de árbol (treeview) con una cuadrícula editable. La cuadrícula de árbol (treegrid) le permite crear filas personalizables que se expanden de forma asíncrona y mostrar datos jerárquicos en múltiples columnas.
Dependencias
- datagrid
Uso
Cree una cuadrícula de árbol (treegrid) en el marcado HTML. En la mayoría de los casos, la cuadrícula de árbol (treegrid) sigue la misma estructura y formato que la cuadrícula de datos (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>
Cree una cuadrícula de árbol (treegrid) usando 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}
]]
});
Propiedades
Estas propiedades se extienden desde la cuadrícula de datos (datagrid); a continuación se muestran las propiedades agregadas para la cuadrícula de árbol (treegrid).
| Nombre | Tipo | Descripción | Valor predeterminado |
|---|---|---|---|
| idField | string | Define el campo de nombre de clave que identifica el nodo del árbol. Obligatorio. | null |
| treeField | string | Define el campo del nodo del árbol. Obligatorio. | null |
| animate | boolean | Define si se muestra un efecto de animación cuando el nodo se expande o se colapsa. | false |
| loader | function(param,success,error) | Define cómo cargar datos desde un servidor remoto. Devuelva false para cancelar la acción. Esta función tiene los siguientes parámetros: param: el objeto de parámetros que se enviará al servidor remoto. success(data): la función de devolución de llamada que se invoca cuando los datos se recuperan correctamente. error(): la función de devolución de llamada que se invoca cuando falla la recuperación de datos. |
json loader |
| loadFilter | function(data,parentId) | Devuelve los datos filtrados que se mostrarán. |
Eventos
Estos eventos se extienden desde la cuadrícula de datos (datagrid); a continuación se muestran los eventos agregados para la cuadrícula de árbol (treegrid).
| Nombre | Parámetros | Descripción |
|---|---|---|
| onClickRow | row | Se activa cuando el usuario hace clic en un nodo. |
| onDblClickRow | row | Se activa cuando el usuario hace doble clic en un nodo. |
| onClickCell | field,row | Se activa cuando el usuario hace clic en una celda. |
| onDblClickCell | field,row | Se activa cuando el usuario hace doble clic en una celda. |
| onBeforeLoad | row, param | Se activa antes de que se realice la solicitud de carga de datos; devuelva false para cancelar la acción de carga. |
| onLoadSuccess | row, data | Se activa cuando los datos se cargan correctamente. |
| onLoadError | arguments | Se activa cuando falla la carga de datos; el parámetro arguments es el mismo que el método 'error' de jQuery.ajax. |
| onBeforeExpand | row | Se activa antes de expandir el nodo; devuelva false para cancelar la acción de expansión. |
| onExpand | row | Se activa cuando el nodo se expande. |
| onBeforeCollapse | row | Se activa antes de colapsar el nodo; devuelva false para cancelar la acción de colapso. |
| onCollapse | row | Se activa cuando el nodo se colapsa. |
| onContextMenu | e, row | Se activa al hacer clic derecho en un nodo. |
| onBeforeEdit | row | Se activa cuando el usuario comienza a editar el nodo. |
| onAfterEdit | row,changes | Se activa cuando el usuario completa la edición. |
| onCancelEdit | row | Se activa cuando el usuario cancela la edición del nodo. |
Métodos
Muchos métodos requieren un parámetro llamado 'id', que representa el valor del nodo del árbol.
| Nombre | Parámetros | Descripción |
|---|---|---|
| options | none | Devuelve las opciones (options) de la cuadrícula de árbol (treegrid). |
| resize | options | Establece el tamaño de la cuadrícula de árbol (treegrid); el parámetro options contiene dos propiedades: width: el nuevo ancho de la cuadrícula de árbol (treegrid). height: la nueva altura de la cuadrícula de árbol (treegrid). |
| fixRowHeight | id | Fija la altura de la fila especificada. |
| loadData | data | Carga los datos de la cuadrícula de árbol (treegrid). |
| load | param | Carga y muestra la primera página. Este método está disponible desde la versión 1.3.4. Ejemplo de código:
// load and send some request parameters
$('#tg').treegrid('load', {
q: 'abc',
name: 'name1'
});
|
| reload | id | Recarga los datos de la cuadrícula de árbol (treegrid). Si se pasa el parámetro 'id', se recarga la fila especificada del árbol; de lo contrario, se recargan todas las filas del árbol. Ejemplo de código:
$('#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 | Recarga los datos del pie de página. |
| getData | none | Obtiene los datos cargados. |
| getFooterRows | none | Obtiene los datos del pie de página. |
| getRoot | none | Obtiene el nodo raíz y devuelve el objeto del nodo. |
| getRoots | none | Obtiene los nodos raíz y devuelve una matriz de nodos. |
| getParent | id | Obtiene el nodo padre. |
| getChildren | id | Obtiene los nodos hijos. |
| getSelected | none | Obtiene el nodo seleccionado y lo devuelve; si no hay ningún nodo seleccionado, devuelve null. |
| getSelections | none | Obtiene todos los nodos seleccionados. |
| getLevel | id | Obtiene el nivel del nodo especificado. |
| find | id | Encuentra el nodo especificado y devuelve los datos de ese nodo. |
| select | id | Selecciona el nodo. |
| unselect | id | Deselecciona el nodo. |
| selectAll | none | Selecciona todos los nodos. |
| unselectAll | none | Deselecciona todos los nodos. |
| collapse | id | Colapsa el nodo. |
| expand | id | Expande el nodo. |
| collapseAll | id | Colapsa todos los nodos. |
| expandAll | id | Expande todos los nodos. |
| expandTo | id | Expande un nodo especificado desde la raíz. |
| toggle | id | Alterna el estado expandido/colapsado del nodo. |
| append | param | Agrega algunos nodos hijos a un nodo padre; el parámetro 'param' incluye las siguientes propiedades: parent: el id del nodo padre; si no se asigna, se agrega como nodo raíz. data: matriz, los datos del nodo. Ejemplo de código:
// 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 | Inserta un nodo antes o después del nodo especificado; el parámetro 'param' incluye las siguientes propiedades: before: el valor de id del nodo insertado antes. after: el valor de id del nodo insertado después. data: los datos del nuevo nodo. Ejemplo de código:
// 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'
}
});
}
Este método está disponible desde la versión 1.3.1. |
| remove | id | Elimina el nodo y sus nodos hijos. |
| pop | id | Extrae el nodo y, después de eliminarlo, devuelve los datos del nodo incluidos sus nodos hijos. Este método está disponible desde la versión 1.3.1. |
| refresh | id | Actualiza el nodo especificado. |
| update | param | Actualiza el nodo especificado. El parámetro 'param' incluye las siguientes propiedades: id: representa el id del nodo que se va a actualizar. row: los nuevos datos de la fila. Ejemplo de código:
$('#tt').treegrid('update',{
id: 2,
row: {
name: 'new name',
iconCls: 'icon-save'
}
});
Este método está disponible desde la versión 1.3.1. |
| beginEdit | id | Comienza a editar el nodo. |
| endEdit | id | Finaliza la edición del nodo. |
| cancelEdit | id | Cancela la edición del nodo. |
| getEditors | id | Obtiene el editor de la fila especificada. Cada editor tiene las siguientes propiedades: actions: las acciones que puede realizar el editor. target: el objeto jQuery del editor de destino. field: el nombre del campo. type: el tipo del editor. |
| getEditor | param | Obtiene el editor especificado; el parámetro param contiene dos propiedades: id: el id del nodo de fila. field: el nombre del campo. |
Complementos jQuery EasyUI Otras extensiones