php树形表格控件,treegrid(树形表格)

### TreeGrid(树形表格)

扩展自$.fn.datagrid.defaults。使用$.fn.treegrid.defaults重写默认值对象。

树形表格用于显示分层数据表格。它是基于数据表格、组合树控件和可编辑表格。树形表格允许用户创建可定制的、异步展开行和显示在多列上的分层数据。

![](https://box.kancloud.cn/2015-12-18_5673868d3da90.png)

####

#### 依赖关系

-

[datagrid](#)

####

#### 使用案例

使用HTML标签创建树形表格。在大多数情况下,树形表格遵循数据表格的结构。

1. **

1.         data-options="url:'get_data.php',idField:'id',treeField:'name'"**>**

1.     ****

1.         **

**

1.             **

**Task Name****

1.             **

**Persons****

1.             **

**Begin Date****

1.             **

**End Date****

1.         **

**

1.     **

**

1. **

**

使用Javascript创建树形表格。

1. **

**

1. $('#tt').treegrid({

1.     url:'get_data.php',

1.     idField:'id',

1.     treeField:'name',

1.     columns:[[

1.         {title:'Task Name',field:'name',width:180},

1.         {field:'persons',title:'Persons',width:60,align:'right'},

1.         {field:'begin',title:'Begin Date',width:80},

1.         {field:'end',title:'End Date',width:80}

1.     ]]

1. });

$('#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](#)(数据表格),树形表格新增的属性如下:

属性名属性值类型描述默认值
idFieldstring定义关键字段来标识树节点。(必须的)null
treeFieldstring定义树节点字段。(必须的)null
animateboolean定义在节点展开或折叠的时候是否显示动画效果。false
loaderfunction(param,success,error)定义以何种方式从远程服务器读取数据。返回false可以忽略该动作。该函数具有一下参数:
param:传递到远程服务器的参数对象。
success(data):当检索数据成功的时候调用的回调函数。
error():当检索数据失败的时候调用的回调函数。
json loader
loadFilterfunction(data,parentId)返回过滤后的数据进行展示。

#### 事件

树形表格的事件扩展自[datagrid](#)(数据表格),树形表格新增的时间如下:

| **事件名** | **事件参数** | **描述** |

|-----|-----|-----|

| onClickRow | row | 在用户点击节点的时候触发。 |

| onDblClickRow | row | 在用户双击节点的时候触发。 |

| onClickCell | field,row | 在用户点击单元格的时候触发。 |

| onDblClickCell | field,row | 在用户双击单元格的时候触发。 |

| onBeforeLoad | row, param | 在请求数据加载之前触发,返回false可以取消加载动作。 |

| onLoadSuccess | row, data | 数据加载完成之后触发。 |

| onLoadError | arguments | 数据加载失败的时候触发,参数和jQuery的$.ajax()函数的'error'回调函数一样。 |

| onBeforeExpand | row | 在节点展开之前触发,返回false可以取消展开节点的动作。 |

| onExpand | row | 在节点被展开的时候触发。 |

| onBeforeCollapse | row | 在节点折叠之前触发,返回false可以取消折叠节点的动作。 |

| onCollapse | row | 在节点被折叠的时候触发。 |

| onContextMenu | e, row | 在右键点击节点的时候触发。 |

| onBeforeEdit | row | 在用户开始编辑节点的时候触发。 |

| onAfterEdit | row,changes | 在用户完成编辑的时候触发。 |

| onCancelEdit | row | 在用户取消编辑节点的时候触发。 |

#### 方法

很多方法都使用'id'命名参数,而'id'参数代表树节点的值。

方法名方法参数描述
optionsnone返回树形表格的属性。
resizeoptions设置树形表格大小,options包含2个属性:
width:树形表格的新宽度。
height:树形表格的新高度。
fixRowHeightid修正指定的行高。
loadparam读取并显示首页内容。(该方法自1.3.4版开始可用)

代码示例:

// 读取并发送请求参数

$('#tg').treegrid('load', {

q: 'abc',

name: 'name1'

});

loadDatadata读取树形表格数据。
reloadid重新加载树形表格数据。如果'id'属性有值,将重新载入指定树形行,否则重新载入所有行。

代码示例:

$('#tt').treegrid('reload', 2);// 重新载入值为2的行

$('#tt').treegrid('reload');// 重新载入所有行

reloadFooterfooter重新载入页脚数据。
getDatanone获取载入数据。
getFooterRowsnone获取页脚数据。
getRootnone获取根节点,返回节点对象。
getRootsnone获取所有根节点,返回节点数组。
getParentid获取父节点。
getChildrenid获取子节点。
getSelectednone获取选择的节点并返回它,如果没有节点被选中则返回null。
getSelectionsnone获取所有选择的节点。
getLevelid获取指定节点等级。
findid查找指定节点并返回节点数据。
selectid选择一个节点。
unselectid反选一个节点。
selectAllnone选择所有节点。
unselectAllnone反选所有节点。
collapseid折叠一个节点。
expandid展开一个节点。
collapseAllid折叠所有节点。
expandAllid展开所有节点。
expandToid打开从根节点到指定节点之间的所有节点。
toggleid节点展开/折叠状态触发器。
appendparam追加节点到一个父节点,'param'参数包含如下属性:
parent:父节点ID,如果未指定则追加到根节点。
data:数组,节点数据。
代码示例: 
// 追加若干节点到选中节点的后面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'

}]

});

insertparam插入一个新节点到指定节点。'param'参数包含一下参数:
before:插入指定节点ID值之前。
after:插入指定节点ID值之后。
data:新节点数据。

代码示例:

// 插入一个新节点到选择的节点之前

var node = $('#tt').treegrid('getSelected');

if (node){

$('#tt').treegrid('insert', {

before: node.id,

data: {

id: 38,

name: 'name38'

}

});

}

(该方法自1.3.1版开始可用)
removeid移除一个节点和他的所有子节点。
popid弹出并返回节点数据以及它的子节点之后删除。(该方法自1.3.1版开始可用)
refreshid刷新指定节点。
updateparam更新指定节点。'param'参数包含以下属性:
id:要更新的节点的ID。
row:新的行数据。

代码示例:

$('#tt').treegrid('update',{

id: 2,

row: {

name: '新名称',

iconCls: 'icon-save'

}

});

(该方法自1.3.1版开始可用)
beginEditid开始编辑一个节点。
endEditid结束编辑一个节点。
cancelEditid取消编辑一个节点。
getEditorsid获取指定行编辑器。每个编辑器都包含以下属性:
actions:编辑器执行的动作。
target:目标编辑器的jQuery对象。
field:字段名称。
type:编辑器类型。
getEditorparam获取指定编辑器,'param'参数包含2个属性:
id:行节点ID。
field:字段名称。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值