C#开发学习笔记:Dev控件库的TreeList动态添加节点

本文介绍如何从数据库查询信息并使用DevExpress组件在树形列表中添加不同层级的节点,包括一级节点、二级节点及三级节点,并展示了如何设置各节点的显示值。最后启用了树形列表的复选框功能。

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

1.去数据库查询出需要添加的节点信息

 DataSet ds = new DataSet();
 ds=SMSql.FormSM06Sql.sm06_inq();//SMSql.FormSM06Sql.sm06_inq():自己封装的查询方法

2.循环遍历查询出来的数据,根据需要添加节点(父节点与子节点)

foreach (DataRow dr in ds.Tables[0].Rows)
{
    if (dr["PARENT_NODE_CODE"].ToString().Trim() == "")
    {
         DevExpress.XtraTreeList.Nodes.TreeListNode FistLevelNode = treeList1.AppendNode(null, null);//添加一级节点
	 if (ThirdLevelNode != null)
         	FistLevelNode.SetValue(treeList1.Columns[0], dr["NODE_CNAME"].ToString().Trim());//添加第一节点显示的值
         foreach (DataRow dr_ in ds.Tables[0].Rows)
         {
              if (dr_["PARENT_NODE_CODE"].ToString() != "")
              {
                    DevExpress.XtraTreeList.Nodes.TreeListNode SecondLevelNode = null;
		    if (dr["NODE_CODE"].ToString().Trim() == dr_["PARENT_NODE_CODE"].ToString().Trim())
                    {
                         SecondLevelNode = treeList1.AppendNode(null, FistLevelNode.Id);//添加二级节点
                         if (SecondLevelNode != null)
                                SecondLevelNode.SetValue(treeList1.Columns[0], dr_["NODE_CNAME"].ToString().Trim());//添加节点显示的值
                         foreach (DataRow dr_temp in ds.Tables[1].Rows)
                         {
                              if (dr_temp["NODE_CNAME"].ToString().Trim() == dr_["NODE_CNAME"].ToString().Trim())
                              {
                                   DevExpress.XtraTreeList.Nodes.TreeListNode ThirdLevelNode = treeList1.AppendNode(null, SecondLevelNode.Id);//添加三级节点
                                            if (ThirdLevelNode != null)
                                                ThirdLevelNode.SetValue(treeList1.Columns[0], dr_temp["BTN_CAPTION"].ToString().Trim());//添加节点显示的值         
                              }          
                         }                                            
                    }                    
              }                    
         }                      
    }                         
}



3.显示复选框

this.treeList1.OptionsView.ShowCheckBoxes = true;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值