C#treeview递归操作数据库浅析

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

10余年的泰安网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整泰安建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“泰安网站设计”,“泰安网站推广”以来,每个客户项目都认真落实执行。

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树形:

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

C# treeview递归4、调用实现

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

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

分享文章:C#treeview递归操作数据库浅析
网站网址:http://www.hantingmc.com/qtweb/news32/65832.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联