Ext tree
tree = new Ext.tree.TreePanel({ renderTo: 'CarListdiv',useArrows: true,border: true,frame: true,animCollapse: false,draggable: false,animate: false,rootVisible: true,enableDD: true,containerScroll: true,autoScroll: true,height: 200,root: tree_root,listeners: { "click": function (node) { // debugger; //alert(node.leaf);alert(node.attributes.ishide); if (node.leaf) { node.ui.toggleCheck(true); node.attributes.checked = true; selectId = node.id; selfOp = 1; storeLoad = 0; addCar(node.id); debugger; focusCar(node.id); debugger; showTooltip_rightClick(node.id,1); } else { if (ds1.isFiltered) ds1.clearFilter(); setBestView(node) node.expand(); } },"dblclick": function (node) { node.ui.toggleCheck(true); node.attributes.checked = true; if (!node.leaf) { node.expand(); } },'checkchange': function (node,e) { if (!node.leaf) { node.eachChild(function (child) { child.ui.toggleCheck(node.attributes.checked); child.attributes.checked = node.attributes.checked; child.fireEvent('checkchange',child,node.attributes.checked); }); } else { if (node.attributes.checked) { debugger; addCar(node.id); } else { removeCar(node.id); } } },'load': function () { if (load == 1)//加载完成后 { // alert("加载完成后"); Ext.get(this.getEl()).unmask(); } },"beforeload": function () { // return; if (load == 0) { Ext.get(this.getEl()).mask('正在加载车辆,请稍候...','x-mask-loading'); load = load + 1; } else { if (load == 1) { Ext.get(this.getEl()).unmask(); load = load + 1; } } },"contextmenu": function (node,e) { debugger; if (!node.leaf) return; selectId = node.id; if (ds1.isFiltered()) ds1.clearFilter(); var car = ds1.getById(node.id); if (car.data['LOCATIONTYPE'] == 1) { bartitle = "人员"; createtreeMenuByperson(); treeMenuByperson.showAt(e.getPoint()); } else { bartitle = "车辆"; if (car.data['LOCK_STATUS'] == 1) { createTreeMenu(); treeMenu.showAt(e.getPoint()); } else { createTreeMenu(); treeMenu.showAt(e.getPoint()); } } //filterDs1(); } } }); //设置属性 tree.root.attributes.description = '这是根节点'; // debugger; tree.root.expand(true); appendChildNodesFromServerData(tree.root); // load data
removeChildNodes(node);
? function removeChildNodes(node) { // remove all child nodes while (node.firstChild) { removeChildNodes(node.firstChild); } if (node.getDepth() != "0") { // isn't root node node.remove(); } } <script src="js/datetime.js" type="text/javascript" charset="gb2312"></script> <link rel="stylesheet" type="text/css" href="js/ext-3.4.0/resources/css/ext-all.css" /> <script type="text/javascript" src="js/ext-3.4.0/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="js/ext-3.4.0/ext-all.js"></script> <script type="text/javascript"> function singlemutimodel_change(obj) { // if ("单选" == obj.value) { appendChildNodesFromServerData(forumTree.root); document.getElementById("hfd_DeviceId").value = ""; } else { appendChildNodesFromServerData(forumTree.root,false); document.getElementById("hfd_DeviceId").value = ""; } } </script> <script type="text/javascript"> var forumTree; function trimStr(rawStr,rpCha) { //去除开始字符窜 //debugger; //if (rawStr.startsWith(rpCha)) if( rawStr.indexOf(rpCha) == 0) { rawStr = rawStr.substring(rpCha.length,rawStr.length); } //去除结束字符串 //if (rawStr.endsWith(rpCha)) if( rawStr.indexOf(rpCha)== rawStr.length-rpCha.length) { rawStr = rawStr.substring(0,rawStr.length - rpCha.length); } return rawStr; } function CheckTreeNodeCheckState(node) { var tmpIpcList = document.getElementById("hfd_DeviceId").value; var tmpselectId; if (node.attributes.checked && node.isLeaf) { tmpselectId = node.id; if (tmpselectId != null) { var realIpcId = tmpselectId.toString().substring("ipc_".length,tmpselectId.length); // tmpIpcList = tmpIpcList.replace(realIpcId,""); tmpIpcList = tmpIpcList.replace("&&","&"); tmpIpcList = trimStr(tmpIpcList,'&'); // if (tmpIpcList != "") { tmpIpcList += "&"; } tmpIpcList += realIpcId; tmpIpcList = trimStr(tmpIpcList,'&'); document.getElementById("hfd_DeviceId").value = tmpIpcList; //alert(tmpIpcList); } } else if (!node.attributes.checked && node.isLeaf) { tmpselectId = node.id; if (tmpselectId != null) { var realIpcId = tmpselectId.toString().substring("ipc_".length,tmpselectId.length); tmpIpcList = tmpIpcList.replace(realIpcId,'&'); document.getElementById("hfd_DeviceId").value = tmpIpcList; // alert(tmpIpcList); } } } function removeChildNodes(node) { // remove all child nodes while (node.firstChild) { removeChildNodes(node.firstChild); } if (node.getDepth() != "0") { // isn't root node node.remove(); } } function appendChildNodesFromServerData(node,v_checked) { // append child nodes from server data var myurl = 'WebService_ClientApp.asmx/GetIpcListForExtTree_nocheck'; var cliAcctType = 'Father'; var zhuAcctId; var loginUserId = 'test'; var LoginPwd; var checked = false; if (v_checked != null) { checked = v_checked; myurl = 'WebService_ClientApp.asmx/GetIpcListForExtTree'; } LoginPwd = 'test'; if (cliAcctType == "Father") { zhuAcctId = 'test'; loginUserId = zhuAcctId; } else if (cliAcctType == "Child") { zhuAcctId = ''; } Ext.Ajax.request({ method: "post",headers: { 'Content-Type': 'application/json' },jsonData: { v_ZhuYongHuId: zhuAcctId,v_Model: cliAcctType,v_UserId: loginUserId,v_UserPwd: LoginPwd,v_check: checked },url: myurl,success: function (request) { var data = Ext.util.JSON.decode(request.responseText); // debugger; removeChildNodes(node); node.reload(); node.appendChild(data.d); // append child nodes node.expandChildNodes(true); // expand node },failure: function (resp,option) { // debugger; Ext.MessageBox.show({ title: '版块管理',msg: '对不起,buttons: Ext.MessageBox.OK,icon: Ext.MessageBox.ERROR }); } }); } Ext.onReady(function () { Ext.QuickTips.init(); forumTree = new Ext.tree.TreePanel({ useArrows: true,frame: false,renderTo: 'IpcTree',title: '',height: 500,root: new Ext.tree.AsyncTreeNode({ nodeType: 'async',id: "id",text: "根节点",expanded: true,leaf: false,iconCls: 'group',children: [ ] }),listeners: { "click": function (node) { if (node.leaf) { node.ui.toggleCheck(true); node.attributes.checked = true; selectId = node.id; selfOp = 1; storeLoad = 0; var realIpcId = selectId.toString().substring("ipc_".length,selectId.length); //alert(selectId + " >>> " + realIpcId); document.getElementById("hfd_DeviceId").value = realIpcId; } else { node.expand(); } },e) { if (!node.leaf) { node.eachChild(function (child) { child.ui.toggleCheck(node.attributes.checked); // if(child.attributes.checked==node.attributes.checked) // child.attributes.checked = node.attributes.checked; // child.fireEvent('checkchange',node.attributes.checked); }); } else { if (node.attributes.checked) { CheckTreeNodeCheckState(node); } else { CheckTreeNodeCheckState(node); } } } } }); // debugger; //forumTree.render(document.body); forumTree.render(); forumTree.expandAll(); // 展开所有结点 //forumTree.render(); // debugger; // if(hdf_SelectedIndexChanged.Value=="单选") // appendChildNodesFromServerData(forumTree.root); // load data // else appendChildNodesFromServerData(forumTree.root,false); // load data ///////////////////////////////////////////////////////////////// }); </script> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |