(学习留存,如有侵权,请告知,立刻删除!)
TreeGrid
由 $.fn.datagrid.defaults扩展而来。
default由$.fn.treegrid.defaults重载。
Treegrid用来在表格中显示层级数据。它基于datagrid,结合了treeview和editable grid。Treegrid可以自定义,异步展开行数据,在多列中展示层级数据。
依赖控件
- datagrid
用法
用HTML标记生成treegrid. 在大多数情况下,treegrid和datagrid 拥有相同的结构和格式;
[html] view plaincopyprint?
- <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>
用javascript生成treegrid
[html] view plaincopyprint?
- <table id="tt" style="width:600px;height:400px"></table>
[javascript] view plaincopyprint?
- $('#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新增的属性:
名称 | 类型 | 描述 | 缺省值 |
---|---|---|---|
idField | string | 树节点的key值。必需. | null |
treeField | string | 树节点值. 必需. | null |
animate | boolean | 定义节点展开或收敛时,是否显示动画效果. | false |
loader | function(param,success,error) | 定义怎样从远程服务器装载数据. return false 退出这个操作. 函数包括以下参数: | json loader |
loadFilter | function(data,parentId) | 返回过滤后的数据. |
事件
事件扩展自datagrid, 下面是为treegrid新增的事件:
名称 | 参数 | 描述 |
---|---|---|
onClickRow | row | 用户点击节点时触发. |
onDblClickRow | row | 用户双击节点时触发. |
onClickCell | field,row | 用户点击单元格时触发. |
onDblClickCell | field,row | 用户双击单元格时触发. |
onBeforeLoad | row, param | 数据请求前触发, return false 删除请求动作. |
onLoadSuccess | row, data | 数据加载成功时触发. |
onLoadError | arguments | 数据加载失败时触发, 参数 arguments 与jQuery.ajax 的 'error' 函数相同 . |
onBeforeExpand | row | 节点展开前触发, return false 删除展开动作. |
onExpand | row | 节点展开后触发. |
onBeforeCollapse | row | 节点收敛前触发, return false 删除收敛动作. |
onCollapse | row | 节点收敛后触发. |
onContextMenu | e, row | 节点右击时触发. |
onBeforeEdit | row | 用户开始编辑节点时触发. |
onAfterEdit | row,changes | 用户完成编辑节点后触发. |
onCancelEdit | row | 用户放弃编辑节点时触发. |
方法
许多方法有"id"这个参数,这个参数指的是tree节点的value值
名称 | 参数 | 描述 |
---|---|---|
options | none | 返回treegrid的可选项. |
resize | options | 设置treegrid 的大小, 选项包括两个属性: width: treegrid新的宽度. height: treegrid新的高度. |
fixRowHeight | id | 固定指定的行高. |
loadData | data | 加载treegrid 数据. |
reload | id | 重新加载treegrid 数据. 如果传递了参数 'id', 加载指定的行, 否则加载所有的行. Code example: [html] view plaincopyprint?
|
reloadFooter | footer | 重新加载 footer 数据. |
getData | none | 获取加载的数据. |
getFooterRows | none | 获取footer 数据. |
getRoot | none | 获取根节点, 返回node对象 |
getRoots | none | 获取所有根节点, 返回node列表. |
getParent | id | 获取父节点. |
getChildren | id | 获取子节点. |
getSelected | none | 获取选择的节点并返回, 如果没有节点被选择 返回 null. |
getSelections | none | 获取所有选择节点. |
getLevel | id | 获取指定节点的level层级. |
find | id | 查找指定的节点,返回节点数据. |
select | id | 选择一个节点. |
unselect | id | 取消选择一个节点. |
selectAll | none | 选择所有节点. |
unselectAll | none | 取消选择所有节点. |
collapse | id | 收敛一个节点. |
expand | id | 展开一个节点. |
collapseAll | id | 收敛所有节点. |
expandAll | id | 展开所有节点. |
expandTo | id | 从根节点展开到指定的节点. |
toggle | id | 切换节点的展开/收敛. |
append | param | 附加节点到父节点. 参数'param'包括下列属性 :
[html] view plaincopyprint?
|
insert | param | 插入新节点到指定的节点. 参数'param'包括下列属性 : before: 插入节点之前的节点id. after: 插入节点之后的节点id. data: 新的节点数据. Code example: [html] view plaincopyprint?
|
remove | id | 移除一个节点和它的子节点. |
pop | id | 移除并返回一个节点和它的子节点. 该功能在版本 1.3.1 之后可用. |
refresh | id | 刷新指定的节点. |
update | param | 更新指定的节点. 参数'param'包括下列属性: id: 被更新的节点的id. row: 新的数据行. Code example: [html] view plaincopyprint?
|
beginEdit | id | 开始编辑一个节点. |
endEdit | id | 结束编辑一个节点. |
cancelEdit | id | 取消编辑一个节点. |
getEditors | id | 获取指定的行编辑器. 每个编辑器有以下属性: actions: 编辑器可以做的actions. target: 目标编辑器的 jQuery 对象. field: field的名称. type: 编辑器的类型. |
getEditor | param | 获取指定的编辑器, param 包括两种属性: id: 行节点id. field: field 名称. |