Beispiel #1
0
        //-----------------------------------------------------------------------------------------
        protected void TreeViewOrganizationRad_NodeExpand(object sender, Telerik.Web.UI.RadTreeNodeEventArgs e)
        {
            var organizationManager = new OrganizationChartManager();

            if (string.IsNullOrEmpty(e.Node.Value) && e.Node.Level == 0)
            {
                var q = organizationManager.GetLocationNullParent();

                foreach (var item in q.ToList())
                {
                    var radnode = new RadTreeNode(item.Title, item.OrganizationID.ToString())
                    {
                        ExpandMode = TreeNodeExpandMode.ServerSideCallBack,
                        //ToolTip = item.Weight.ToString()
                        Category = item.Weight.ToString() + "-" + item.DisregardPriority.ToString()
                    };
                    radnode.Text = radnode.Text;// +" - " + radnode.Category;
                    e.Node.Nodes.Add(radnode);
                }
            }
            else
            {
                var parentId = long.Parse(e.Node.Value);

                if (e.Node.Level < 5)
                {
                    var childLocation = new OrganizationChartManager().GetChildLocation(parentId).ToList();

                    TreeNodeExpandMode treeNodeExpandMode = e.Node.Level == 5 - 1 ? TreeNodeExpandMode.ClientSide : TreeNodeExpandMode.ServerSideCallBack;

                    foreach (var item in childLocation)
                    {
                        var radnode = new RadTreeNode(item.Title, item.OrganizationID.ToString())
                        {
                            ExpandMode = treeNodeExpandMode, Category = item.Weight.ToString() + "-" + item.DisregardPriority.ToString()
                        };
                        radnode.Text = radnode.Text;// +" - " + radnode.Category;
                        e.Node.Nodes.Add(radnode);
                    }
                    e.Node.ExpandMode = TreeNodeExpandMode.ServerSideCallBack;
                }
                else
                {
                    e.Node.Expanded = false;
                }
            }
        }