TreeView

本文介绍了一种使用TreeView组件的方法,包括如何通过数据库查询来绑定数据,并实现递归获取节点的功能。示例代码展示了如何设置TreeView的CheckBox显示及如何根据父节点获取子节点。

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

今天做项目用到了TreeView。

这是绑定:

ContractedBlock.gifExpandedBlockStart.gifView Code
 1 public void Bind()
2 {
3 DataTable dt = UserDAL.GetRole("and parentid=0 ");
4 tvShow.ShowCheckBoxes = TreeNodeTypes.All;
5 for (int i = 0; i < dt.Rows.Count; i++)
6 {
7 TreeNode nd = new TreeNode();
8 nd.ShowCheckBox = true;
9 nd.Text = dt.Rows[i]["FuncName"].ToString();
10 nd.Value = dt.Rows[i]["FuncId"].ToString();
11 DataTable dt2 = UserDAL.GetRole(" and parentid=" + Convert.ToInt32(nd.Value) + "");
12
13 for (int j = 0; j < dt2.Rows.Count; j++)
14 {
15 TreeNode tn = new TreeNode();
16 tn.ShowCheckBox = true;
17 tn.Text = dt2.Rows[j]["FuncName"].ToString();
18 tn.Value = dt2.Rows[j]["FuncId"].ToString();
19 nd.ChildNodes.Add(tn);
20 }
21 tvShow.Nodes.Add(nd);
22 }
23 }

这是获取(递归):

ContractedBlock.gifExpandedBlockStart.gifView Code
 1 public void bbs(TreeNodeCollection coll)
2 {
3 DataTable dt = UserDAL.GetGrpFuncList(int.Parse(ViewState["userid"].ToString()));
4 foreach (TreeNode aas in coll)
5 {
6 for (int i = 0; i < dt.Rows.Count; i++)
7 {
8 if (Convert.ToInt32(aas.Value) == Convert.ToInt32(dt.Rows[i]["funcid"].ToString()))
9 {
10 aas.Checked = true;
11 }
12 }
13 bbs(aas.ChildNodes);
14 }
15 }

转载于:https://www.cnblogs.com/tony312ws/archive/2011/08/04/2127226.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值