1、首先在zTreeStyle/img 中添加你想修改样式的,下面是处理好的图treepng片,给大家使用下。
2、在zTree_v3/css/ zTreeStyle/zTreeStylecss把背景图路径换成自己的。
3、最后就是找位置,找到你想用图标的位置。如下面表示当修改不点击时复选框样式。
官方代码说的非常清楚啊
function zTreeOnClick(event, treeId, treeNode) {alert(treeNodetId + ", " + treeNodename);
};
var setting = {
callback: {
onClick: zTreeOnClick
}
};
不清楚可以问我 把你实际需求告诉我 我给你实现
var zNodes =[
{ id:1, pId:0, name:"普通的父节点", t:"我很普通,随便点我吧", open:true},
{ id:11, pId:1, name:"叶子节点 - 1", t:"我很普通,随便点我吧"},
{ id:12, pId:1, name:"叶子节点 - 2", t:"我很普通,随便点我吧"},
{ id:13, pId:1, name:"叶子节点 - 3", t:"我很普通,随便点我吧"},
{ id:2, pId:0, name:"NB的父节点", t:"点我可以,但是不能点我的子节点,有本事点一个你试试看?", open:true},
{ id:21, pId:2, name:"叶子节点2 - 1", t:"你哪个单位的?敢随便点我?小心点儿", click:false},
{ id:22, pId:2, name:"叶子节点2 - 2", t:"我有老爸罩着呢,点击我的小心点儿", click:false},
{ id:23, pId:2, name:"叶子节点2 - 3", t:"好歹我也是个领导,别普通群众就来点击我", click:false},
{ id:3, pId:0, name:"郁闷的父节点", t:"别点我,我好害怕我的子节点随便点吧", open:true, click:false },
{ id:31, pId:3, name:"叶子节点3 - 1", t:"唉,随便点我吧"},
{ id:32, pId:3, name:"叶子节点3 - 2", t:"唉,随便点我吧"},
{ id:33, pId:3, name:"叶子节点3 - 3", t:"唉,随便点我吧"}
Copyright © 1999-2020, CSDNNET, All Rights Reserved
打开APP
Tianya_追心
关注
jgGrid实现 左移、右移、上移、下移 转载
2018-06-21 15:52:05
1点赞
Tianya_追心
码龄10年
关注
摘要:
最近在项目需求中通过jqGrid实现表格中的数据:左移、右移、上移、下移和置顶 等 *** 作。
下面记录实现的方法。
1
2
3
下面是代码片段:
右移(其实就是向一个grid容器中插入一行数据):
//这个方法是获取ztree节点内容,插入到grid表中
function BindBtnRightMethod() {
//获取ztree对象
var zTreeObj = $fnzTreegetZTreeObj("ztreeId");
//获取光标选中的tree节点
var selectedNodes = zTreeObjgetSelectedNodes();
if (selectedNodeslength == 0) {
$modalAlert(" *** 作失败!未选中节点。");
return; } else {
//新增一行
var data = { KSID:"10", FLKSID:"101", KSMC: "消化科" };
addRowDataByGridElementId("jqGridId", data); }}
//摘要://内容:向grid表中添加一行记录
function addRowDataByGridElementId(id, data) {
//获取当前grid中的表ID集合
var jqGrid = $('#' + id); var IDs = jqGridgetDataIDs();
//定义标量,记录IDs中的rowid的最大值
var maxId = 0; if (IDslength > 0) {
for (var i = 0; i < IDslength; i++) {
var tmpId = jqGridgetInd(IDs[i]);
if (maxId < tmpId) {
maxId = tmpId;
} } }
//这里是在给新增的rowid自定义一个有序值
var rowid= maxId + 1;
//执行新增 *** 作
jqGridaddRowData(rowid, data, rowid);
}
左移(其实是从grid表中删除一行):
//摘要://内容:按钮左移
function BindBtnLeftMethod() {
//删除选中行
var rowid = $("#jqGridId")jqGrid('getGridParam', 'selrow');
if (rowid == "" || rowid == undefined || rowid == null) {
$modalAlert("移除行未选中!");
return; } else {
var flag = $("#jqGridId")jqGrid("delRowData", rowid);
if (!flag) {
$modalAlert("移除 *** 作失败!");
}
}}
上移:
//摘要:
//内容:按钮上移
function BindBtnUpMethod() {
var obj = $("#jiGouGridList");
var IDs = objgetDataIDs();
var rowid = objjqGrid('getGridParam', 'selrow');
if (rowid == "" || rowid == null || rowid == undefined) {
$modalAlert("未选中行!");
return false;
}
var rowIndex = getRowIndexByRowId(IDs, rowid);
if (rowIndex == 0) {
$modalAlert('已经置顶,不能上移!');
} else {
var srcrowid = getRowIdByRowIndex(IDs, rowIndex - 2);
var rowUpId = getRowIdByRowIndex(IDs, rowIndex - 1);
var rowData = objjqGrid('getRowData', rowid);
var rowUpData = objjqGrid('getRowData', rowUpId);
//删除当前行
objdelRowData(rowid);
objdelRowData(rowUpId);
//新插入一行
objaddRowData(rowid, rowData, "after", srcrowid);
objaddRowData(rowUpId, rowUpData, "after", rowid);
//默认再选中新增的这个行
objsetSelection(rowid);
}
}
//摘要:
//内容:根据rowid,获取索引值
function getRowIndexByRowId(Ids, id) {
var index = 0;
for (var i = 0; i < Idslength; i++) {
if (Ids[i] == id) {
index = i;
}
}
return index;
}
//摘要:
//内容:根据索引值获取rowid值
function getRowIdByRowIndex(Ids, index) {
var rowid = "";
for (var i = 0; i < Idslength; i++) {
if (i == index) {
rowid = Ids[i];
}
}
return rowid;
}
下移:
//摘要:
//内容:按钮下移
function BindBtnDownMethod() {
var obj = $("#jqGridId");
var IDs = objgetDataIDs();
var rowid = objjqGrid('getGridParam', 'selrow');
if (rowid == "" || rowid == null || rowid == undefined) {
$modalAlert("未选中行!");
return false;
}
var rowIndex = getRowIndexByRowId(IDs, rowid);
if (rowIndex == (IDslength - 1)) {
$modalAlert('已经置底,不能下移!');
} else {
var srcrowid = getRowIdByRowIndex(IDs, rowIndex - 1);
var rowDownId = getRowIdByRowIndex(IDs, rowIndex + 1);
var rowData = objjqGrid('getRowData', rowid);
var rowDownData = objjqGrid('getRowData', rowDownId);
//删除当前行
objdelRowData(rowid);
objdelRowData(rowDownId);
//新插入一行
objaddRowData(rowDownId, rowDownData, "after", srcrowid);
objaddRowData(rowid, rowData, "after", rowDownId);
//默认再选中新增的这个行
objsetSelection(rowid);
}
}
打开CSDN APP,看更多技术内容
ListBox实现上移,下移,左移,右移的简单实例
主要介绍了ListBox实现上移,下移,左移,右移的简单实例。需要的朋友可以过来参考下,希望对大家有所帮助
JS与jQuery实现ListBox上移,下移,左移,右移 *** 作功能示例
主要介绍了JS与jQuery实现ListBox上移,下移,左移,右移 *** 作功能,涉及javascript与jQuery的事件响应、页面元素动态 *** 作等相关实现技巧,需要的朋友可以参考下
易语言汇编实现左移右移模块
易语言汇编实现左移右移模块源码系统结构:asm_rol,asm_ror,asm_rcl,asm_rcr,asm_shl,asm_shr,asm_not, ======程序集1 || ||------_启动子程序 || ||------_临时子程序 || ||------asm_rol || ||------asm_ror || ||-
易语言源码易语言汇编实现左移右移模块源码rar
$post(
"AddNodeaction",
{ type: treelevel, id: pid },
function(nodeIdAndName) {
var params = /([^\|]+)\|([^\|]+)/exec(nodeIdAndName);
/////////////////////////////////////////////////写法1//////////////////////////////////////////////////////////////////////////////////////////////////
// if ((!treeNode && eventtargettagNametoLowerCase() != "button" && $(eventtarget)parents("a")length == 0) || treeNodeopen){
// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });
// }
// else{
// zTreeexpandNode(treeNode, true);
// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });
// }
/////////////////////////////////////////////////写法2//////////////////////////////////////////////////////////////////////////////////////////////////
// if (!((!treeNode && eventtargettagNametoLowerCase() != "button" && $(eventtarget)parents("a")length == 0) || treeNodeopen)) {
// zTreeexpandNode(treeNode, true);
// }
// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });
/////////////////////////////////////////////////写法3//////////////////////////////////////////////////////////////////////////////////////////////////
// if(!treeNode && eventtargettagNametoLowerCase() != "button" && $(eventtarget)parents("a")length == 0)
// {
// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });
// }
// else if(treeNodeopen)
// {
// if(treeNodeisParent)
// {
// zTreereAsyncChildNodes(treeNode, "refresh");
// }
// else
// {
// treeNodeisParent=true;
// zTreereAsyncChildNodes(treeNode, "refresh");
// }
// }
// else
// {
// zTreeexpandNode(treeNode, true);
// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });
// }
/////////////////////////////////////////////////写法4//////////////////////////////////////////////////////////////////////////////////////////////////
// if ((!treeNode && eventtargettagNametoLowerCase() != "button" && $(eventtarget)parents("a")length == 0)){
// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });
// }
// else if(treeNodeopen){
// if(!treeNodeisParent){
// treeNodeisParent=true;
// }
// zTreereAsyncChildNodes(treeNode, "refresh");
// }
// else{
// zTreeexpandNode(treeNode, true);
// treeNode = zTreeaddNodes(treeNode, { id: params[1], pid: pid, isParent: "true", name: params[2], editable: "true", treelevel: treelevel });
// }
});
/
上面四种写法都是用于zTree异步加载时添加子节点重复的问题
问题描述:
zTree树,第一次给父节点添加子节点时(该节点没有子节点时):如果父节点处于展开状态,只添加一个子节点;如果父节点处于闭合状态,会添加两个节点
问题原因:
之一,zTree v30 中,用 addNodes 方法添加节点时,zTree 会自动先去异步加载已有的子节点,然后再添加新的子节点。
所以,当父节点处于闭合状态(还没有子节点)时,用addNodes方法添加子节点节点后会在异步加载子节点的时候再添加一次,就出现两个一样的节点
之二,后来,即使当父节点处于展开状态(还没有子节点)时也会添加两个一模一样的子节点,是因为zTree树的节点在默认情况下都是子节点,这时给它添加
子节点会添加两个,一个是addNodes()添加的,一个是异步加载时添加的。其实这个时候只需要给它一个reAsyncChildNodes 方法强行进行异步加载即可。
其实我自己也还不是特别能理解清楚zTree的逻辑,大家可以看官网API,或者猛击这里 ,还有一个不错的地方就是百度的zTree吧
>
假设我的理解是正确的,按照这个我来讲一下思路:
1、zTree 异步加载功能还是很灵活的,settingasyncurl 可以设置为 function,这样完全可以针对节点变更 异步加载的url,以便于你从不同的表生成数据(另一种情况你可以后台使用一个url根据参数来从不同的表获取数据,如果这样的话,那么可以利用 beforeAsync 回调函数,去修改 async 的参数)
2、zTree 默认设置只有点击 +/- 号展开节点时才进行异步加载;如果希望点击节点时就自动展开触发异步加载,那么利用 onClick 回调函数捕捉点击节点的事件,然后判断如果是 父节点(isParent = true)就使用 expandNode 方法展开节点即可。
3、多表查询,有一点请注意,如果使用的是 简单数据模式,那么请对id、pId加上一些标识,以避免不同表的节点数据 id 相同。(如果每次仅仅加载同级节点,那么即使id相同也不会出现问题。
以上就是关于ztree怎么通过修改css改变字体和图标大小全部的内容,包括:ztree怎么通过修改css改变字体和图标大小、c# .net ztree 点击节点事件onclick调用后台函数、这段ztree代码运行后不显示树状图,什么原因啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)