我为treeview控件动态填充子节点以后,希望点击填充的子节点能跳到制定页面,但是运行后不能点击子节点,不知道应该怎么设置填充的子节点的哪个属性,希望指点。
  代码如下
 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
    {        if (TreeView1.SelectedNode.Text == "省总项目单文档")
        {
            Server.Transfer("ShowDocByTree.aspx?ViewDoc='省总项目'");
        }
        if (TreeView1.SelectedNode.Depth == 3)
        {
            string DocID = TreeView1.SelectedNode.Value;
           //Server.Transfer("ShowaProject.aspx?DocID=" + Convert.ToString(DocID));
            TreeView1.SelectedNode.NavigateUrl = "ShowaProject.aspx?DocID=" + Convert.ToString(DocID);
        }
    }
    protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
    {
        if (e.Node.Text == "省总项目单文档")
        {
            SqlConnection conn = new SqlConnection(strConn);
            conn.Open();
            string SelectID = "select ID, DocName from tb_DocInformation where ProjStyle='省总项目'";
            SqlCommand cmd = new SqlCommand(SelectID,conn);
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    TreeNode NewNode = new TreeNode();
                    NewNode.Text = dr["DocName"].ToString();
                    
                    NewNode.Value = dr["ID"].ToString();
                    NewNode.PopulateOnDemand = false;
                    NewNode.SelectAction = TreeNodeSelectAction.None;
                    e.Node.ChildNodes.Add(NewNode);
                }
            }
            dr.Close();
            //Server.Transfer("ShowDocByTree.aspx?ViewDoc='省总项目'");
        }
        if (e.Node.Text == "市总项目单文档")
        {
            SqlConnection conn = new SqlConnection(strConn);
            conn.Open();
            string SelectID = "select DocName from tb_DocInformation where ProjStyle='市总项目'";
            SqlCommand cmd = new SqlCommand(SelectID, conn);
            SqlDataReader dr = cmd.ExecuteReader();
            if (dr.HasRows)
            {
                while (dr.Read())
                {
                    TreeNode NewNode = new TreeNode();
                    NewNode.Text = dr[0].ToString();
                    NewNode.PopulateOnDemand = false;
                    NewNode.SelectAction = TreeNodeSelectAction.None;
                    
                    e.Node.ChildNodes.Add(NewNode);
                }
            }
            dr.Close();
 
        }
    }

解决方案 »

  1.   

    private void button1_Click(object sender, System.EventArgs e)
    {
    TreeNode tn=this.treeView1.SelectedNode;
    if(tn!=null)
    {
    //创建一个新的节点,名称来自文本框
    TreeNode t=new TreeNode(this.textBox1.Text);//节点名称
    //把新节点添加到当前你选中的节点下,作为该节点的子节点
    tn.Nodes.Add(t);
    }
    }