zoukankan      html  css  js  c++  java
  • Coolite TreePanel 操作之一:TreePanel 刷新

    脚本: 

    function refreshTree(tree) {
                tree.el.mask('Loading...', 'x-loading-mask');
                Coolite.AjaxMethods.RefreshMenu({
                    success: function(result) {
                        var nodes = eval(result);
                        tree.root.ui.remove();
                        tree.initChildren(nodes);
                        tree.root.render();
                        tree.el.unmask();
                    },
                    failure: function(msg) {
    
                        tree.el.unmask();
    
                        Ext.Msg.alert('Failure', '未能加载数据');
    
                    }
    
                });
            }
    


     

    Coolite.AjaxMethods.RefreshMenu方法:

     /// <summary>
            /// 刷新树 Json 获取
            /// </summary>
            /// <returns></returns>
            [AjaxMethod]
            public string RefreshMenu()
            {
                Coolite.Ext.Web.TreeNodeCollection nodes = LoadTree(this.TreePanelOrganization.Root);
                return nodes.ToJson();
            }
    
     
    
     
    
       /// <summary>
            /// 组织机构、组织角色树的加载 //WCF entity framework 方法
            /// </summary>
            /// <param name="nodes"></param>
            /// <returns>TreeNodeCollection</returns>
            private Coolite.Ext.Web.TreeNodeCollection LoadTree(Coolite.Ext.Web.TreeNodeCollection nodes)
            {
    
               
                if (nodes == null)
                {
                    nodes = new Coolite.Ext.Web.TreeNodeCollection();
                }//根节点为null时
    
                TreePanelOrganization.Root.Clear();
    
                Coolite.Ext.Web.TreeNode node = new Coolite.Ext.Web.TreeNode("Hisoft", "Hisoft", Icon.Group);
                node.Qtip = "Hisoft";
                nodes.Add(node);
                node.Expanded = true;
    
                // OrganizationService.OrganizationServiceClient client = new PMS.Web.Admin.OrganizationService.OrganizationServiceClient();
                //  client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;
    
                //所有父节点的加载
                DCC_ResorganizationList organizationlist = client.GetOrganizationList("");
    
                foreach (var superCode in organizationlist.ToList())
                {
                    Coolite.Ext.Web.TreeNode supernode = new Coolite.Ext.Web.TreeNode();
                    string parentcode = superCode.OrganizationCode;
                    supernode.NodeID = superCode.OrganizationCode;
                    supernode.Text = superCode.OrganizationName;
                    supernode.Qtip = superCode.OrganizationFullName;
                    supernode.Cls = superCode.OrganizationID;
                    //supernode.Expanded = true;
                    supernode.Icon = Icon.GroupKey;
                    //supernode.CustomAttributes.Add(new ConfigItem(
                    node.Nodes.Add(supernode);
                    LoadOrgRoleByOrganizationID(superCode.OrganizationID, supernode);
                    CreateCycleTree(parentcode, supernode);
                }
    
                return nodes;
    
                //linq to sql class 方法
                //IList<RES_Organization> OrgSuperDepartment = OrgData.GetCycleOrganization("", context);
                //foreach (var superCode in OrgSuperDepartment)
                //{
                //    Coolite.Ext.Web.TreeNode supernode = new Coolite.Ext.Web.TreeNode();
                //    supernode.NodeID = superCode.organization_code;
                //    supernode.Text = superCode.organization_name;
                //    supernode.Qtip = superCode.organization_full_name;
                //    supernode.Icon = Icon.GroupKey;
                //    node.Nodes.Add(supernode);
                //    CreateCycleTree(supernode.NodeID, supernode);
    
                //}
               
            }
    
    
            /// <summary>
            /// 递归加载树
            /// </summary>
            /// <param name="code">父节点的code</param>
            /// <param name="parentcode">父节点</param>
            private void CreateCycleTree(string code, Coolite.Ext.Web.TreeNode parentcode)
            {
                // OrganizationService.OrganizationServiceClient client = new PMS.Web.Admin.OrganizationService.OrganizationServiceClient();
    
                //根据父节点的ID得到该节点下的所有子节点
                DCC_ResorganizationList orgDepartment = client.GetOrganizationList(code);
    
                // IList<RES_Organization> orgDepartment = OrgData.GetCycleOrganization(code, context);
    
                foreach (var org in orgDepartment.ToList())
                {
                    Coolite.Ext.Web.TreeNode node = new Coolite.Ext.Web.TreeNode();
                    string orgparentcode = org.OrganizationCode;
                    node.NodeID = org.OrganizationCode;
                    node.Text = org.OrganizationName;
                    node.Qtip = org.OrganizationFullName;
                    node.Cls = org.OrganizationID;
                    node.Icon = Icon.GroupGo;
                    parentcode.Nodes.Add(node);
                    LoadOrgRoleByOrganizationID(org.OrganizationID, node);
                    CreateCycleTree(orgparentcode, node);
                }
    
            }
    

     

     

    脚本注册:

      string JsFunction = "refreshTree(#{TreePanelOrganization})";
                    //string JsFunction = "alert('dd');";
                    //string JsFunction = "refreshTree()";
                    Coolite.Ext.Web.ScriptManager sm = Coolite.Ext.Web.ScriptManager.GetInstance(HttpContext.Current);
                    sm.AddScript(string.Format("{0};", JsFunction));
    

     

     

  • 相关阅读:
    python中将集合进行切割的方法
    Tomcat单库多实例部署
    (二) storm的基本使用
    工作流表结构解析
    [TCO 2012 Round 3A Level3] CowsMooing (数论,中国剩余定理,同余方程)
    [HEOI 2013 day2] 钙铁锌硒维生素 (线性代数,二分图匹配)
    [HEOI 2013 day2] SAO (树形动态规划)
    关于react和Angular的思考
    angular 中的modal
    从易到难,写一个JavaScript加载器之一
  • 原文地址:https://www.cnblogs.com/wolm/p/2221358.html
Copyright © 2011-2022 走看看