Jquery的树插件jqxTreeGrid的使用小结
一、引入相应的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链接
Jquery的树插件jqxTreeGrid的使用小结的更多相关文章
- Jquery的树插件jqxTreeGrid的使用小结(实现基本的增删查改操作)
一.引入相应的js <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" t ...
- JQuery Ztree 树插件配置与应用小结
JQuery Ztree 树插件配置与应用小结 by:授客 QQ:1033553122 测试环境 Win7 jquery-3.2.1.min.js 下载地址: https://gitee.com/is ...
- 基于jquery下拉列表树插件代码
分享一款基于jquery下拉列表树插件代码.这是一款实用的jquery 树形下拉框 下拉树代码下载.效果图如下: 在线预览 源码下载 实现的代码. html代码: <table width= ...
- Jquery ztree树插件
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- Jquery ztree树插件2
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- C#结合Jquery LigerUI Tree插件构造树
Jquery LigerUI Tree是Jquery LigerUI()的插件之一,使用它可以快速的构建树形菜单.呵呵 废话不说了,直入正题,下面介绍C#结合ligerui 构造树形菜单的两种方法 1 ...
- 顶级jQuery树插件
顶级jQuery树插件 顶级jQuery树插件 2013-03-05 17:20 139人阅读 评论(0) 收藏 举报 jsTree JsTree是一个基于jQuery的Tree控件.支持HTML.J ...
- 基于bootstrap的jQuery多级列表树插件 treeview
http://www.cnblogs.com/mfc-itblog/p/5233453.html http://www.htmleaf.com/jQuery/Menu-Navigation/20150 ...
- zTree 优秀的jquery树插件
zTree 优秀的jquery树插件,文档详细,渲染快 使用方法: 1.引用zTree的js和css文件 <link href="~/Content/zTree_v3/css/zTre ...
随机推荐
- day2_操作系统
一.为什么要有操作系统 因为计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成.现代计算机系统复杂 每位计算机程序员不可能全部的掌 ...
- 2017年9月19日 JavaScript语法操作
关于JavaScript个人还是觉得比较有意思的 {在</html>后面写或者在</body>前面写(必须紧贴</body>)} <script> va ...
- Linux硬链接软连接
转载原文出处:http://www.cnblogs.com/itech/archive/2009/04/10/1433052.html 1.Linux链接概念 Linux链接分两种,一种被称为硬链接( ...
- hibernate中Query的list和iterator区别
1.Test_query_list类 public class Test_query_iterator_list { public static void main(String[] args) { ...
- Tomcat代码执行漏洞(CVE-2017-12615)的演绎及个人bypass
0x00 漏洞简介 2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞. 漏洞CVE编号:CVE-2017-12615和CVE-2017-12616. 其中 远程代码执行漏洞 ...
- Python操作excel表格
用Python操作Excel在工作中还是挺常用的,因为毕竟不懂Excel是一个用户庞大的数据管理软件 注:本篇代码在Python3环境下运行 首先导入两个模块xlrd和xlwt,xlrd用来读取Exc ...
- try catch finally 中包含return的几种情况,及返回结果
当当当,兴致勃勃的第二篇博客,散花~ 下面是正题(敲黑板) 第一种情况:在try和catch中有return,finally中没有return,且finally中没有对try或catch中要 retu ...
- Java面向对象 网络编程 上
Java面向对象 网络编程 上 知识概要: (1)网络模型 (2)网络通讯要素 (3)UDP TCP 概念 (4)Socket (5)UDP TCP 传输 ...
- MySQL存储过程例子,包含事务,参数,嵌套调用,游标,循环等
drop procedure if exists pro_rep_shadow_rs; delimiter | ---------------------------------- -- rep_sh ...
- 一道javascript面试题(闭包与函数柯里化)
要求写一个函数add(),分别实现能如下效果: (1)console.log(add(1)(2)(3)(4)()); (2)console.log(add(1,2)(3,4)()); (3)conso ...