一、引入相应的js

<link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
<script type="text/javascript" src="../../scripts/jquery.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxdata.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxbuttons.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxscrollbar.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxlistbox.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxdropdownlist.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxdatatable.js"></script>
<script type="text/javascript" src="../../jqwidgets/jqxtreegrid.js"></script>

二、页面

<div id="treeTable">
</div>

三、js代码

$(document).ready(function () {
var source =
{
dataType: "json",
//设置字段名称,name和后台实体对应
dataFields: [
{ name: "id", type: "string" },
{ name: "pid", type: "string" },
{ name: "name", type: "string" },
{ name: "value", type: "string" },
{ name: "title", type: "string" },
{ name: "type", type: "string" },
{ name: "children", type: "array" },
],
hierarchy:
{
root: "children" //设置孩子节点?
},
url : "getFullTree.shtml?time="+getTimestamp, //数据请求链接
id: "id" //设置主键
}; var dataAdapter = new $.jqx.dataAdapter(source);//加载source function loadTable(){
var averageW=parseInt($("#treeTable").width()*0.2);//定义表格树每列的宽度
$("#treeTable").jqxTreeGrid(
//设置一些基本的属性
{
source: dataAdapter,
altRows: true,
autoRowHeight: false,
editable: true,
/*checkboxes: true,
hierarchicalCheckboxes: true,*/
editSettings: { saveOnPageChange: true, saveOnBlur: true, saveOnSelectionChange: false, cancelOnEsc: true, saveOnEnter: true, editOnDoubleClick: false, editOnF2: false },
    //表头(每列显示的名称,与上文中source中的dataField对应)
columns:[
{
text:"Name",
dataField:'name',
align: "center",
width:averageW
},
{
text:"Value",
dataField:"value",
align:"center",
cellsAlign: 'center',
width:averageW,
},
{
text:"Title",
dataField:"title",
align:"center",
cellsAlign: 'center',
width:averageW,
},
{
text:"Type",
dataField:"type",
align:"center",
cellsAlign: 'center',
width:averageW,
},
{
text:"操作",
dataField:'toolBar',
cellsAlign: 'center',
align: "center",
width:averageW,
cellsRenderer:function(row,clomun,value){
var toolBtn= '<div class="custom-btn-group">'+
'<button class="custom-btn-small add-btn" title="添加" data-toggle="modal" data-target=".add-modal">'+
'<i class="fa fa-plus" aria-hidden="true"></i>'+
'</button>'+
'<button class="custom-btn-small edit-btn" title="编辑" data-toggle="modal" data-target=".edit-modal">'+
'<i class="fa fa-pencil" aria-hidden="true"></i>'+
'</button>'+
'<button class="custom-btn-small del-btn" title="删除">'+
'<i class="fa fa-trash" aria-hidden="true"></i>'+
'</button>'+
'</div>';
return toolBtn; }
}
]
});
}
loadTable();
$(window).resize(function(){
loadTable();
})
});

四、主要介绍对表格树的CRUD。

  4.1、首先要获取所选中的行(很重要)

 //rowSelect  当行被点击时执行的事件
$("#treeTable").on('rowSelect', function (event) {
var args = event.args;
//获取选中行的数据
rowData = args.row;
//获取选中行的主键(id)
rowKey = args.key;
});

  4.2、增加子节点(官方api没说清楚,坑了我好久)

$("#treeTable").jqxTreeGrid('addRow', message.id, message, 'last', rowKey);//参数解释:'addRow' ——>表明这是一个增加行的方法。
                                            //message.id ——>要增加数据的主键id(如果这个参数设置为null,则新加数据的主键id就会调用jqxTreeGrid默认的方法把父id(选中行的id)加1后作为增加数据的主键id!
                                            //message ——> 要增加的数据。
                                            //'last' ——> 设置新增的数据在表格中显示的位置(last:将新增的数据放在所选节点下的最后一行。first:将新增的数据放在所选节点下的第一行)
                                            //rowKey ——> 所选节点的id(父节点的id,主要是判断新增的数据该放在哪个节点(行)下)

  4.3、修改节点

$("#treeTable").jqxTreeGrid('updateRow', rowKey, message);//参数解释:updateRow ——> 表明这是一个更新方法
                                       //rowKey ——> 所选行的主键id
                                       //message ——> 更新的数据

  4.4、删除节点

$("#treeTable").jqxTreeGrid('deleteRow',rowKey);//参数解释:
                            //deleteRow ——> 表明这是一个删除方法
                            //rowKey —— > 要删除节点(行)的主键id

  4.5、效果图

五、官方API链接

https://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxtreegrid/jquery-treegrid-getting-started.htm?search=

Jquery的树插件jqxTreeGrid的使用小结的更多相关文章

  1. Jquery的树插件jqxTreeGrid的使用小结(实现基本的增删查改操作)

    一.引入相应的js <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" t ...

  2. JQuery Ztree 树插件配置与应用小结

    JQuery Ztree 树插件配置与应用小结 by:授客 QQ:1033553122 测试环境 Win7 jquery-3.2.1.min.js 下载地址: https://gitee.com/is ...

  3. 基于jquery下拉列表树插件代码

    分享一款基于jquery下拉列表树插件代码.这是一款实用的jquery 树形下拉框 下拉树代码下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <table width= ...

  4. Jquery ztree树插件

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  5. Jquery ztree树插件2

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  6. C#结合Jquery LigerUI Tree插件构造树

    Jquery LigerUI Tree是Jquery LigerUI()的插件之一,使用它可以快速的构建树形菜单.呵呵 废话不说了,直入正题,下面介绍C#结合ligerui 构造树形菜单的两种方法 1 ...

  7. 顶级jQuery树插件

    顶级jQuery树插件 顶级jQuery树插件 2013-03-05 17:20 139人阅读 评论(0) 收藏 举报 jsTree JsTree是一个基于jQuery的Tree控件.支持HTML.J ...

  8. 基于bootstrap的jQuery多级列表树插件 treeview

    http://www.cnblogs.com/mfc-itblog/p/5233453.html http://www.htmleaf.com/jQuery/Menu-Navigation/20150 ...

  9. zTree 优秀的jquery树插件

    zTree 优秀的jquery树插件,文档详细,渲染快 使用方法: 1.引用zTree的js和css文件 <link href="~/Content/zTree_v3/css/zTre ...

随机推荐

  1. 小巧玲珑:机器学习届快刀XGBoost的介绍和使用

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:张萌 序言 XGBoost效率很高,在Kaggle等诸多比赛中使用广泛,并且取得了不少好成绩.为了让公司的算法工程师,可以更加方便的 ...

  2. Linux帮助手册(man)

    Linux的帮助文档 在我们使用Linux的过程中,都会遇到这样那样的问题,一般我们在计算机能连上网的情况下会进行百度或Google解决问题,但是并不是所有文题都能在网上很快得到答案.万一我们是在没有 ...

  3. python webdriver 环境搭建详解

    学了一个月用java编写selenium driver 测试脚本,也将公司做的系统基本可用的模块做了一次自动化,虽然写的比较简陋,但是基本可用跑一遍,并用testNG生成了测试报告. 学习方式无非是: ...

  4. Flex布局介绍

    Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性 任何一个容器都可以指定为 Flex 布局. .box{ display: -web ...

  5. oracle pl/sql 函数

    函数用于返回特定的数据,当建立函数时,在函数头部必须包含return子句.而在函数体内必须包含return语句返回的数据.我们可以使用create function来建立函数. 1).接下来通过一个案 ...

  6. Spring 3.x 读书笔记

    第一:如果使用BeanFactory作为Spring Bean的工厂类,则所有的bean都是在第一次使用该Bean的时候实例化 第二:如果使用ApplicationContext作为Spring Be ...

  7. Python uwsgi 无法安装以及编译报错的处理方式

    之前安装uwsgi的时候编译一步有出错,因为比较早,部分错误代码已经找不到了,网上找了部分错误信息, 现把解决方式共享出来. 环境:CentOS release 6.4   Python 2.7.3 ...

  8. JAVA HashMap 解析

    1.简介(其实是HashMap注释的大致翻译) 本文基于JDK1.8,与JDK1.7中的HashMap有一些区别,看官注意区别. HashMap实现了Map接口,提供了高效的Key-Value访问.H ...

  9. Delphi10.2 VCL Forms Application 的构成

    Delphi10.2 项目的构成(File Extensions of Files Generated by RAD Studio) Step1.打开 Delphi10.2,选择[File | New ...

  10. unset与unlink

    unset() -- 释放给定的变量 详见->http://www.kuqin.com/php5_doc/function.unset.html unlink() --删除文件    常用于用户 ...