如题。本人是个菜鸟,在模仿的基础上写了如何动态生成二级节点数据后,却不懂得如何写点击节点(特别是二级节点)后动态生成相关的数据表。有哪位会的,麻烦指点一下,有源代码就最好。小弟不胜感激。
这是动态生成treeview的相关数据:  protected void Page_Load(object sender, EventArgs e)
    {
        // 在此放置用户代码以初始化页面
        if (!IsPostBack)
        {            SqlConnection conn = new SqlConnection("Data Source=(local);Database=jmd_toys;Uid=sa;Pwd=709394");
            conn.Open();
            SqlCommand cmd = new SqlCommand("select * from department", conn);
            cmd.Connection = conn;
            SqlDataAdapter da1 = new SqlDataAdapter(cmd);
            DataSet ds1 = new DataSet();
            da1.Fill(ds1,"department");            for (int i = 0; i < ds1.Tables["department"].Rows.Count; i++)
            {
                TreeNode td1 = new TreeNode();
                td1.Text = ds1.Tables["department"].Rows[i]["depart_name"].ToString();
                td1.Value = ds1.Tables["department"].Rows[i]["depart_id"].ToString();
                TreeView1.Nodes.Add(td1);                SqlConnection conn2 = new SqlConnection("Data Source=(local);Database=jmd_toys;Uid=sa;Pwd=709394");
                conn2.Open();
                SqlCommand cmd2 = new SqlCommand("select * from job_info where depart_id=" + ds1.Tables["department"].Rows[i]["depart_id"].ToString(), conn2);
                SqlDataAdapter da2 = new SqlDataAdapter(cmd2);
                DataSet ds2 = new DataSet();
                da2.Fill(ds2, "job_info");                for (int j = 0; j < ds2.Tables["job_info"].Rows.Count; j++)
                {
                    TreeNode td2 = new TreeNode();
                    td2.Text = ds2.Tables["job_info"].Rows[j]["job_name"].ToString();
                    td1.ChildNodes.Add(td2);                }                conn2.Close();
            }
            TreeView1.DataBind();            conn.Close();        }
    }是不是在TreeView1_SelectedNodeChanged 里面加载事件呀,但我不知如何加载?

解决方案 »

  1.   


    是不是在TreeView1_SelectedNodeChanged 里面加载事件呀,但我不知如何加载? 
    -----------
    是在这个事件中如:
     
    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            //获取到当前点击的节点
            TreeNode node = TreeView1.SelectedNode;
            if (node != null)
            {
    //            node.Text或者node.Value,根据节点名称。继续加载就行了。
            }
        }
      

  2.   

    绑定数据这样可以
    代码要优化,使用数据库操作类或实体类
    using(SqlConnection conn = new SqlConnection(""))
    {}
       td2.NavigateUrl = "";
     protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            if (this.TreeView1.SelectedNode != null)
            {
                string id=this.TreeView1.SelectedNode.Value.Trim();  
            }
        }
      

  3.   

    我是要点击二级节点后绑定一个DataList控件,里面显示该数据表的内容,请问应该怎么做?
      

  4.   

    我点击TreeView1_SelectedNodeChanged事件后,但网页没有任何反应
      

  5.   

    前台页面TreeView的属性里要加上 OnSelectedNodeChanged="TreeView1_SelectedNodeChanged"