treeview 的一点用法

 


use tempTest
go

create table Category
(
AutoId int primary key identity(1,1), 
Names nvarchar(200) not null,
PId int ,
depth int, 
statusVaue int ,
Priority int ,  
)




      private void bindTreeView1()
      {
         string sql = @"SELECT  [AutoId]
                           ,[Names]
                           ,[PId]
                           ,[depth]
                           ,[statusVaue]
                           ,[Priority]
                       FROM [Business].[dbo].[Category]";
         DataTable dt = beans.getDataTable(sql);//db.ExecuteDataTable(sql, CommandType.Text, null);
         DataRow[] dr = dt.Select("Pid is null");  //root 节点
         for (int i = 0; i < dr.Length; i++)
         {
            TreeNode tn = new TreeNode();
            tn.Text = dr[i]["Names"].ToString();//root 节点文本
            tn.Tag = dr[i]["AutoId"].ToString(); //root 节点ID
            FillTree(tn, dt);
            treeView1.Nodes.Add(tn);
         }
      }


      private void FillTree(TreeNode node, DataTable dt)
      {
         DataRow[] drr = dt.Select("PId='" + node.Tag.ToString() + "'");
         if (drr.Length > 0)
         {
            for (int i = 0; i < drr.Length; i++)
            {
               TreeNode tnn = new TreeNode();
               tnn.Text = drr[i]["Names"].ToString();
               tnn.Tag = drr[i]["AutoId"].ToString();
               if (drr[i]["PId"].ToString() == node.Tag.ToString())
               {
                  FillTree(tnn, dt);
               }
               node.Nodes.Add(tnn);
            }
         }
      }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值