C# treeview 控件动态绑定数据

本文介绍了如何使用C#编程动态绑定数据到TreeView控件中。通过循环DataView对象,创建并设置TreeNode对象的Text、Value属性,并逐级添加子节点。在Button点击事件中,遍历已选择的节点并打印其Text值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

protected void page_load(object o ,eventargs e )
{//首先填充第一级节点

    dataview dv=获取dataview视图函数;

foreach(datarowview datav in dv)
    {//循环数据视图,将对应的值交给一个节点对象,然后添加到树上有继续添加
     
      treenode tn=new TreeNode();
      tn.Text=datav("title").ToString();
      tn.Value=datav("bid").ToString();
      tn.Expanded=false;
      TreeView1.Nodes.Add(tn);

      AddchildNodes(tn);//调用方法填充二级节点
    }
}

 

private void AddchildNodes(TreeNode tn)
{//填充二级节点,他需要一级节点的value ,所以干脆送了一个完整的根节点对象
   int bid=Convert.ToInt32(tn.Value);
DataView dv=drv("select * from class where bid="+bid+");
foreach(DataRowView datav in dv)
    {//同上
     TreeNode ctn=new TreeNode();
     ctn.Text=datav["title"].ToString();
     ctn.Value=datav["cid"].ToString();
     ctn.NavigateUrl="http://thcjp.cnblogs.com/jiashe.aspx?aa="+datav["cid"].ToSring;
     tn.ChildNodes.Add(ctn);
     //把节点ctn加载到tn下面或者说添加为tn的子节点
    }

}


//下面这段代码的作用在于把选用节点的text值打印出来
protect void Button1_Click(object sender,Eventargs e)
{

if(TreeView1.CheckedNodes.Count>0)
   {
     //如果有项被选中


       foreach(TreeNode tn in TreeView1.CheckedNodes)
          {//跌代所有被选中的节点
             
            if(tb.ChildNodes.Count>0)
              {//如果被选中项下面还有子节点
          
                 foreach(TreeNode ctn in tn.ChildNodes)
                    {//迭代所有子节点,把值读出来
                        Response.Write(ctn.Text+"<br>");
                       
              }


               else
                {
                  //如果下面没有节点了,说明是叶节点,那么直接读出被选取项的值
              
                   Response.Write(tn.Text+"<br>");
                }
          
          }
   }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值