jQuery EasyUI Complemento de cuadrícula de datos y árbol -Treegrid Cuadrícula de árbol


jQuery EasyUI 插件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.

jQuery EasyUI 插件Complementos jQuery EasyUI Otras extensiones