自强学堂
自强学堂:学习、分享、让你更强!
jQuery EasyUI 教程HTMLCSSJAVASCRIPTJQUERYSQLPHPBOOTSTRAPANGULARXML
×

jQuery EasyUI 教程

jQuery EasyUI 教程 jQuery EasyUI 简介

jEasyUI 应用

jEasyUI 创建 CRUD 应用 jEasyUI 创建 CRUD 数据网格 jEasyUI 表单的 CRUD 应用 jEasyUI 创建 RSS 阅读器

jEasyUI 拖放

jEasyUI 基本的拖动和放置 jEasyUI 创建拖放的购物车 jEasyUI 创建学校课程表

jEasyUI 菜单与按钮

jEasyUI 创建简单的菜单 jEasyUI 创建链接按钮 jEasyUI 创建菜单按钮 jEasyUI 创建分割按钮

jEasyUI 布局

jEasyUI 创建边框布局 jEasyUI 创建复杂布局 jEasyUI 创建折叠面板 jEasyUI 创建标签页 jEasyUI 动态添加标签页 jEasyUI 添加自动播放标签页 jEasyUI 创建 XP 风格左侧面板

jEasyUI 数据网格

jEasyUI 转换 HTML 表格为数据网格 jEasyUI 取得选中行数据 jEasyUI 添加查询功能 jEasyUI 添加工具栏 jEasyUI 创建复杂工具栏 jEasyUI 设置冻结列 jEasyUI 动态改变列 jEasyUI 格式化列 jEasyUI 设置排序 jEasyUI 自定义排序 jEasyUI 创建列组合 jEasyUI 添加复选框 jEasyUI 自定义分页 jEasyUI 启用行内编辑 jEasyUI 扩展编辑器 jEasyUI 列运算 jEasyUI 合并单元格 jEasyUI 创建自定义视图 jEasyUI 创建页脚摘要 jEasyUI 条件设置行背景颜色 jEasyUI 创建属性网格 jEasyUI 扩展行显示细节 jEasyUI 创建子网格 jEasyUI 显示海量数据 jEasyUI 添加分页组件

jEasyUI 窗口

jEasyUI 创建简单窗口 jEasyUI 自定义窗口工具栏 jEasyUI 窗口与布局 jEasyUI 创建对话框 jEasyUI 自定义对话框

jEasyUI 树形菜单

jEasyUI 使用标记创建树形菜单 jEasyUI 创建异步树形菜单 jEasyUI 树形菜单添加节点 jEasyUI 创建带复选框的树形菜单 jEasyUI 树形菜单拖放控制 jEasyUI 树形菜单加载父/子节点 jEasyUI 创建基础树形网格 jEasyUI 创建复杂树形网格 jEasyUI 树形网格动态加载 jEasyUI 树形网格添加分页 jEasyUI 树形网格惰性加载节点

jEasyUI 表单

jEasyUI 创建异步提交表单 jEasyUI 表单验证 jEasyUI 创建树形下拉框 jEasyUI 格式化下拉框 jEasyUI 过滤下拉数据网格

jEasyUI 参考手册

jQuery EasyUI 插件 jQuery EasyUI 扩展

 

jQuery EasyUI 数据网格与树插件 – Treegrid 树形网格


jQuery EasyUI 插件 jQuery EasyUI 插件

扩展自 $.fn.datagrid.defaults。通过 $.fn.treegrid.defaults 重写默认的 defaults。

树形网格(treegrid)用于以网格形式显示分层数据。它是基于数据网格(datagrid)的,并结合了树视图(treeview)和可编辑网格。树形网格(treegrid)允许您创建可定制的、可异步展开的行,并以多列形式显示分层数据。

依赖

  • datagrid

用法

在 HTML 标记中创建树形网格(treegrid)。在大多数情况下,树形网格(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>

使用 javascript 创建树形网格(treegrid)。

<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)添加的属性。

名称类型描述默认值
idFieldstring定义标识树节点的键名字段。必需。null
treeFieldstring定义树节点的字段。必需。null
animateboolean定义当节点展开或折叠时是否显示动画效果。false
loaderfunction(param,success,error)定义如何从远程服务器加载数据。返回 false 则取消该动作。该函数有下列参数:
param:要传递到远程服务器的参数对象。
success(data):当检索数据成功时调用的回调函数。
error():当检索数据失败时调用的回调函数。
json loader
loadFilterfunction(data,parentId)返回要显示的过滤数据。

事件

该事件扩展自数据网格(datagrid),下面是为树形网格(treegrid)添加的事件。

名称参数描述
onClickRowrow当用户点击一个节点时触发。
onDblClickRowrow当用户双击一个节点时触发。
onClickCellfield,row当用户点击一个单元格时触发。
onDblClickCellfield,row当用户双击一个单元格时触发。
onBeforeLoadrow, param当加载数据的请求发出前触发,返回 false 则取消加载动作。
onLoadSuccessrow, data当数据加载成功时触发。
onLoadErrorarguments当数据加载失败时触发,arguments 参数和 jQuery.ajax 的 'error' 方法一样。
onBeforeExpandrow节点展开前触发,返回 false 则取消展开动作。
onExpandrow当节点展开时触发。
onBeforeCollapserow节点折叠前触发,返回 false 则取消折叠动作。
onCollapserow当节点折叠时触发。
onContextMenue, row当右键点击节点时触发。
onBeforeEditrow当用户开始编辑节点时触发。
onAfterEditrow,changes当用户完成编辑时触发。
onCancelEditrow当用户取消编辑节点时触发。

方法

很多方法需要一个名为 'id' 的参数,该参数表示树节点的值。

名称参数描述
optionsnone返回树形网格(treegrid)的选项(options)。
resizeoptions设置树形网格(treegrid)的尺寸, options 参数包含两个属性:
width:树形网格(treegrid)的新宽度。
height:树形网格(treegrid)的新高度。
fixRowHeightid固定指定行的高度。
loadDatadata加载树形网格(treegrid)的数据。
loadparam加载并显示第一页。该方法自版本 1.3.4 起可用。
代码实例:
// load and send some request parameters
$('#tg').treegrid('load', {
	q: 'abc',
	name: 'name1'
});
reloadid重新加载树形网格(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
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:数组,节点的数据。

代码实例:
// 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'
	}]
});
insertparam在指定节点的前边或后边插入一个节点,'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 起可用。
removeid移除节点和它的子节点。
popid弹出节点并在移除该节点后返回包含其子节点的节点数据。该方法自版本 1.3.1 起可用。
refreshid刷新指定的节点。
updateparam更新指定的节点。'param' 参数包括下列属性:
id:表示要被更新的节点的 id。
row:新的行数据。

代码实例:
$('#tt').treegrid('update',{
	id: 2,
	row: {
		name: 'new name',
		iconCls: 'icon-save'
	}
});
该方法自版本 1.3.1 起可用。
beginEditid开始编辑节点。
endEditid结束编辑节点。
cancelEditid取消编辑节点。
getEditorsid获取指定行的编辑器。每个编辑器有下列属性:
actions:编辑器可以做的动作。
target:目标编辑器的 jQuery 对象。
field:字段名。
type:编辑器的类型。
getEditorparam获取指定的编辑器,param 参数包含两个属性:
id:行节点的 id。
field:字段名。

jQuery EasyUI 插件 jQuery EasyUI 插件