示例#1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="eventArgument"></param>
        /// <remarks>
        /// </remarks>
        /// <history>
        ///     [jbrinkman]	5/6/2004	Created
        /// </history>
        public virtual void RaisePostBackEvent(string eventArgument)
        {
            string[] args = eventArgument.Split(ClientAPI.COLUMN_DELIMITER.ToCharArray()[0]);

            TreeNode Node = TreeNodes.FindNode(args[0]);

            if (!(Node == null))
            {
                if (args.Length > 1)
                {
                    switch (args[1])
                    {
                    case "Click":

                        if (this.CheckBoxes == false)
                        {
                            TreeNode objNode;
                            foreach (TreeNode tempLoopVar_objNode in TreeNodes.FindSelectedNodes())
                            {
                                objNode          = tempLoopVar_objNode;
                                objNode.Selected = false;
                            }
                        }
                        if (Node.ClickAction == eClickAction.Expand)
                        {
                            if (Node.DNNNodes.Count == 0 && this.PopulateNodesFromClient)      //Node.DNNNodes.Count = 0 NEW!!!
                            {
                                if (PopulateOnDemandEvent != null)
                                {
                                    PopulateOnDemandEvent(this, new DNNTreeEventArgs(Node));
                                }
                            }
                            if (Node.IsExpanded)
                            {
                                Node.Collapse();
                            }
                            else
                            {
                                Node.Expand();
                            }
                        }
                        Node.Click();
                        break;

                    case "Checked":

                        Node.Selected = !Node.Selected;
                        break;

                    case "OnDemand":

                        if (PopulateOnDemandEvent != null)
                        {
                            PopulateOnDemandEvent(this, new DNNTreeEventArgs(Node));
                        }
                        break;
                    }
                }
                else
                {
                    if (Node.IsExpanded)
                    {
                        Node.Collapse();
                    }
                    else
                    {
                        Node.Expand();
                    }
                    if (Node.DNNNodes.Count == 0 && this.PopulateNodesFromClient)  //Node.DNNNodes.Count = 0 NEW!!!
                    {
                        if (PopulateOnDemandEvent != null)
                        {
                            PopulateOnDemandEvent(this, new DNNTreeEventArgs(Node));
                        }
                    }
                }
            }
        }