C#2005 WebForm我做了一个非常简单的树,当我点击树结点的时候(该树结点有子结点),弹出了一个页面,很奇怪啊,应该展开该结点才对啊,是不是要对该树进行某些设置啊,还是我的系统有问题啊。
哪位能告诉我一下,谢谢了原贴:
http://topic.csdn.net/u/20081218/21/087b9f01-abce-4d08-8900-2a5a19cce2ff.html?seed=1099922285

解决方案 »

  1.   

    你自己去看看树控件的属性http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.treeview_properties(VS.80).aspx
      

  2.   


     /// <summary>
            /// 菜单加载
            /// </summary>
            public void BindTree(string strAdminName, string strRoleName)
            {
                DataTable dtParent = tools.ConvertDataReaderToDataTable(bmdb.getParentMenu());  //父菜单表
                DataTable dtRolePower = null;
                if (strRoleName == "")
                {//如果角色名为空,则以用户名查询角色权限
                    dtRolePower = tools.ConvertDataReaderToDataTable(bmdb.getPowerMenu(strAdminName, ""));//根据登录用户获取其所属角色拥有权限表
                }
                else
                {
                    dtRolePower = tools.ConvertDataReaderToDataTable(bmdb.getPowerMenu("", strRoleName));//根据登录用户获取其所属角色拥有权限表
                }
                TreeView tvMenu = (TreeView)this.FindControl("tvMenu");
                TreeNode PNode = null;
                TreeNode CNode = null;
                foreach (DataRow dr in dtParent.Rows)
                {
                    PNode = new TreeNode();
                    PNode.Text = dr["MODULE_NAME"].ToString();  //父菜单名称
                    PNode.Value = dr["MODULEID"].ToString();    //父菜单值
                    PNode.SelectAction = TreeNodeSelectAction.Expand; //点击树展开属性
                    PNode.ExpandAll();
                    this.tvMenu.Nodes.Add(PNode);                //PNode.NavigateUrl = "javascript:return false;";                DataTable dtChild = tools.ConvertDataReaderToDataTable(bmdb.getChildMenu(Convert.ToInt32(PNode.Value)));
                    for (int i = 0; i < dtChild.Rows.Count; i++)
                    {
                        CNode = new TreeNode();  //必须声明
                        CNode.Text = dtChild.Rows[i]["MODULE_NAME"].ToString();
                        CNode.Value = dtChild.Rows[i]["MODULEID"].ToString();                    //CNode.NavigateUrl = dtChild.Rows[i]["MODULE_URL"].ToString(); //具体导航到的页面
                        foreach (DataRow dr2 in dtRolePower.Rows)
                        {
                            if (Convert.ToInt32(CNode.Value) == Convert.ToInt32(dr2[0].ToString()))
                            {
                                CNode.Checked = true;
                            }
                        }
                        PNode.ChildNodes.Add(CNode);
                    }
                }
            }