TreeView中动态增加节点(ASP.NET2.0)

    protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
    {
        if(e.Node.ChildNodes.Count==0)
        {
            switch(e.Node.Depth)//根据节点的深度来判断
            {
                case 0:
                    FillAuthors(e.Node);
                    break;
                case 1:
                    FillTitleForAuthors(e.Node);
                    break;

            }
        }
    }
    public void FillAuthors(TreeNode node)
    {
        SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");
        SqlCommand cmd = new SqlCommand("select * from authors",conn);
        SqlDataAdapter dap = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        dap.Fill(ds);
        if(ds.Tables.Count>0)
        {
            foreach(DataRow row in ds.Tables[0].Rows)//逐行循环;
            {
                TreeNode newNode = new TreeNode(row["au_fname"].ToString(),row["au_id"].ToString());
                newNode.PopulateOnDemand = true;//动态填充节点,表示该节点会动态扩展;
                newNode.SelectAction = TreeNodeSelectAction.Expand;//这属性是重点
                node.ChildNodes.Add(newNode);
            }
        }
    }
    public void FillTitleForAuthors(TreeNode node)
    {
        string authorID = node.Value;
        SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=;database=pubs");
        SqlCommand cmd = new SqlCommand("Select T.title, "+
            "T.title_id From titles T" +
            " Inner Join titleauthor TA on T.title_id = TA.title_id " +
            " Where TA.au_id = " + authorID + "",conn);
        SqlDataAdapter dap = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        dap.Fill(ds);
        if (ds.Tables.Count > 0)
        {
            foreach (DataRow row in ds.Tables[0].Rows)
            {
                TreeNode newNode = new TreeNode(
               row["title"].ToString(), row["title_id"].ToString());
                newNode.PopulateOnDemand = false;
                newNode.SelectAction = TreeNodeSelectAction.None;//--
                node.ChildNodes.Add(newNode);
            }
        }
    } 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值