微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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     


 


                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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐