加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Ext tree

发布时间:2020-12-17 01:00:38 所属栏目:安全 来源:网络整理
导读: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: t
 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     


?


??????????????? function appendChildNodesFromServerData(node) { // append child nodes from server data?
??????????????????? // debugger;
??????????????????? Ext.Ajax.request({

??????????????????????? method: "post",
??????????????????????? // headers: { 'Content-Type': 'application/json' },
??????????????????????? jsonData: { v_companyInfo: '*' },
??????????????????????? url: 'ws/ws_jquery_carinfo.asmx/GetAllCarByCmpId',
??????????????????????? success: function (request) {
??????????????????????????? //debugger;
??????????????????????????? //alert(request.responseText);
??????????????????????????? var data = Ext.util.JSON.decode(request.responseText);



??????????????????????????? // debugger;
??????????????????????????? node.appendChild(data.d); // append child nodes?

??????????????????????????? //alert(data.d);
??????????????????????????? //document.writeln(data.d);


removeChildNodes(node);
? ? ? ? ? ? ? ? ? ? ?node.reload();
??????????????????????????? node.expandChildNodes(true); // expand node?

??????????????????????????? //? debugger;

??????????????????????? },
??????????????????????? failure: function (resp,opts) {
??????????????????????????? // debugger;
??????????????????????????? var respText = Ext.util.JSON.decode(resp.responseText);
??????????????????????????? Ext.Msg.alert('错误',respText.error);


??????????????????????????? Ext.MessageBox.show({
??????????????????????????????? title: '版块管理',
??????????????????????????????? msg: 'appendChildNodesFromServerData 对不起,加载数据出现异常,请重试!',
??????????????????????????????? buttons: Ext.MessageBox.OK,
??????????????????????????????? icon: Ext.MessageBox.ERROR
??????????????????????????? });
??????????????????????? }
??????????????????? });
??????????????? }


?

?

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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读