[转载自51cto]C#treeview递归操作数据库浅析

C# treeview递归操作数据库主要是想大家展示通过C# treeview递归来实现数据库的树形结构的呈现,希望对你了解C# treeview递归有所比帮助。

C# treeview递归操作数据库需要注意什么呢?C# treeview递归操作数据库的具体步骤是什么呢?这里我们通过具体的实现步骤来向你详细介绍相应的内容。

C# treeview递归1、建立数据库:

f_id 项目ID号 ,f_front 父ID号 ,f_name名称,f_type类型,f_layer所处层,f_order 同层的顺序号;(f_layer,f_order不要也可,这里我主要是需要同层排序才用到)

C# treeview递归2、数据库的操作

然后“select f_id,f_front,f_name,f_type from data”取得DataSet数据集dsFrame;treeview 名称设为tvDept

C# treeview递归3、写函数 构建treeveiw树形:

 

public void AddTree(int ParentID, TreeNode pNode)
 
{ DataView dvTree = new DataView(dtTree);
//就是dtTree = dsFrame.Tables[0];
string Fstr = "[f_front] = " + ParentID; dvTree.RowFilter = Fstr;
 
foreach(DataRowView Row in dvTree)
 
{ TreeNode Node = new TreeNode();
if (pNode == null) //处理主节点
 
{ Node.Name = Row["f_id"].ToString();
//这里+了2个值分别到Name和Text,可随便
 
Node.Text = Row["f_name"].ToString();
 
if (Row["f_type"].ToString() == "岗位")
//这个不要也可以,主要为了不同类型显示不同图标 { Node.ImageIndex = 1; Node.SelectedImageIndex=1; }
 
else 
 
{ Node.ImageIndex = 0; Node.SelectedImageIndex=0; }
 
tvDept.Nodes.Add(Node);
//加入 AddTree(Int32.Parse(Row["f_id"].ToString()), Node); //递归
 
} else //处理子节点
 
{ Node.Name = Row["f_id"].ToString(); Node.Text = Row["f_name"].ToString();
 
if (Row["f_type"].ToString() == "岗位")
 
{ Node.ImageIndex = 1; Node.SelectedImageIndex = 1; }
 
else { Node.ImageIndex = 0; Node.SelectedImageIndex=0; }
 
pNode.Nodes.Add(Node);
 
AddTree(Int32.Parse(Row["f_id"].ToString()), Node); }
 
}
 
}

C# treeview递归4、调用实现

调用方法 AddTree(0, (TreeNode)null); //0就是处于最高级其f_front=0,数据库里1为顶层那就是1,这个随便 最好+一句 tvDept.ExpandAll(); 展开所有项。

C# treeview递归的数据库操作我们就向你介绍到这里,希望对你了解和学习C# treeview递归有所帮助。

转载于:https://www.cnblogs.com/ZJoy/archive/2010/12/17/1909576.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值