winform中TreeView显示树状图

12 篇文章 0 订阅

一、获取表数据

DataTable dt = new DataTable ();//要有值

二、清空Windows.From.TreeView

treeModelTree.Nodes.Clear();//清空TreeView

三、从dt表中获取一行数据(第一级数据、父级id = 0)

DataRow[] rows = dt.Select("C_PARENT_METER_ID=0");

四、添加节点(Node)

//声明节点

TreeNode code;

foreach (DataRow row in rows)

{

code = new TreeNode();

code.Tag = row;

code.Text = row["C_METER_ID"].ToString();//第一级数据的表id

DataRow[] RowsOne = dt.Select("C_PARENT_METER_ID=" + row["C_METER_ID"].ToString());//获取下级数据(作为下一个父级)

BindChild(code, dt, RowsOne);//通过子级获取子级数据

treeModelTree.Nodes.Add(code);//添加到TreeView中

}

//通过子级获取子级数据

public void BindChild(TreeNode node, DataTable dt, DataRow[] RowTWO)

{

TreeNode codeChid;//子级节点

foreach (DataRow row in RowTWO)

{

codeChid = new TreeNode();

codeChid.Tag = row;

codeChid.Text = row["C_METER_ID"].ToString();//子级数据表id

node.Nodes.Add(codeChid);

DataRow[] RowTree = dt.Select("C_PARENT_METER_ID=" + row["C_METER_ID"].ToString());//获取下级数据(作为下一个父级)

BindChild(codeChid, dt, RowTree);//循环查询获取

}

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值