asp.net 2.0中treeview中动态增加结点

TreeView控件在ASP.NET中的动态生成 (2014年) TreeView控件是Web应用程序开发中经常用到且功能强大的控件,用来显示信息的分级视图,如同Windows里的资源管理器的目录。本文主要阐述如何根据SQL Server2008数据库中的数据,在Visual Studio2010环境中用ASP.NET TreeView控件动态生成一个无级限的树形菜单。 立即下载

   主要代码如下:

 

  1. <html>
  2. <head>
  3. </head> 
  4. <body> 
  5. <form id="form1" runat="server"> 
  6. <div> 
  7. <asp:TreeViewRunat="Server" ExpandImageUrl="Images/closed.gif" 
  8. CollapseImageUrl="Images/open.gif" 
  9. OnTreeNodePopulate="Node_Populate" ID="tvwauthors"> 
  10. <Nodes> 
  11. <asp:TreeNodeText="Authors" PopulateOnDemand=true 
  12. Value="0"/> 
  13. </Nodes> 
  14. </asp:TreeView> 
  15. </div> 
  16. </form> 
  17. </body> 
  18. </html> 

 后台代码:

  1. void Node_Populate(objectsender,System.Web.UI.WebControls.TreeNodeEventArgs e) 
  2. { 
  3. if(e.Node.ChildNodes.Count == 0) 
  4. { 
  5. switch( e.Node.Depth ) 
  6. { 
  7. case 0: 
  8. FillAuthors(e.Node); 
  9. break; 
  10. case 1: 
  11. FillTitlesForAuthors(e.Node); 
  12. break; 
  13. } 
  14. } 
  15. } 
  16. void FillAuthors(TreeNode node) 
  17. { 
  18. string connString = System.Configuration.ConfigurationSettings. 
  19. ConnectionStrings["NorthwindConnnection"].ConnectionString; 
  20. SqlConnection connection = new SqlConnection(connString); 
  21. SqlCommand command = new SqlCommand("Select * From 
  22. authors",connection); 
  23. SqlDataAdapter adapter = new SqlDataAdapter(command); 
  24. DataSet authors = new DataSet(); 
  25. adapter.Fill(authors); 
  26. if (authors.Tables.Count > 0) 
  27. { 
  28. foreach (DataRow row in authors.Tables[0].Rows) 
  29. { 
  30. TreeNode newNode = new 
  31. TreeNode(row["au_fname"].ToString() + " " + 
  32. row["au_lname"].ToString(), 
  33. row["au_id"].ToString()); 
  34. newNode.PopulateOnDemand = true; //是否动态填充节点
  35. newNode.SelectAction = TreeNodeSelectAction.Expand; //选择节点时引发的事件(切换节点的展开和折叠状态。)
  36. node.ChildNodes.Add(newNode); 
  37. } 
  38. } 
  39. } 
  40. void FillTitlesForAuthors(TreeNode node) 
  41. { 
  42. string authorID = node.Value; 
  43. string connString = System.Configuration.ConfigurationSettings. 
  44. ConnectionStrings["NorthwindConnnection"].ConnectionString; 
  45. SqlConnection connection = new SqlConnection(connString); 
  46. SqlCommand command = new SqlCommand("Select T.title, 
  47. T.title_id From titles T" + 
  48. " Inner Join titleauthor TA on 
  49. T.title_id = TA.title_id " + 
  50. " Where TA.au_id = '" + authorID + "'", connection); 
  51. SqlDataAdapter adapter = new SqlDataAdapter(command); 
  52. DataSet titlesForAuthors = new DataSet(); 
  53. adapter.Fill(titlesForAuthors); 
  54. if (titlesForAuthors.Tables.Count > 0) 
  55. { 
  56. foreach (DataRow row in titlesForAuthors.Tables[0].Rows) 
  57. { 
  58. TreeNode newNode = new TreeNode( 
  59. row["title"].ToString(), row["title_id"].ToString()); 
  60. newNode.PopulateOnDemand = false; //是否动态填充节点
  61. newNode.SelectAction = TreeNodeSelectAction.None; 
  62. node.ChildNodes.Add(newNode); 
  63. } 
  64. } 
  65. } 
asp.net 2.0中TREEVIEW中动态增加结点 在asp.net 2.0中,要动态从数据库中取出内容,动态增加结点,其实不难,比如以SQL SERVER 2000的PUBS数据库为例 子,要以树型列表方式,取出作者,做为根结点,然后取出每位作者写过什么书,作为子结点, 立即下载

相关推荐

行为验证码 AJ-Captcha 使用文档

AJ-Captcha验证码系统集成指南:需添加captcha-spring-boot-starter和Redis依赖,配置Redis连接。核心实现包括Redis缓存服务类CaptchaCacheRedisImpl(含设置、查询、删除验证码等方法)、SPI配置文件及Spring Boot配置类(配置验证码属性和Redis模板)。系统支持验证码生成、校验、防刷等安全功能,适用于Web应用安全验证场景。

千层冷面的博客 2119

asp.net实现TreeView控件动态增加结点代码

http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> http://www.w3.org/1999/xhtml"> asp.net实现TreeView控件动态增加结点代码_IT知道网 void Node_Populate(object sender, System.Web.UI.WebControls.TreeNodeEven

黄长旭的专栏 1534

克里金插值(Kriging)在MATLAB中的实现(克里金工具箱)

一,直接献上克里金插值MATLAB工具箱 链接:https://pan.baidu.com/s/1p0lt2G8KQ-els7Dyw5jPFg 提取码:wcss 下载后将该程序添加到MATLAB安装文件夹中的/toolbox下,然后在设置路径中添加该程序文件为默认路径即可调用程序。 资源中内附程序使用说明PDF。 二、本人实际操作代码如下所示,标注如下 load data1 %载入数据 %模型参...

qq_40937675的博客 6万+

1.TreeView.应用--2.asp.net 2.0中TREEVIEW中动态增加结点--3.msdn中nasp.net 2.0中TREEVIEW中动态增加结点--4.TreeView.ImageSet 属性,换换treeview的皮肤收藏

  新一篇:  [转]有关加薪申请资料 | 旧一篇: 能下载整站asp.net源代码的地方function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(

jing_xin的专栏 1663

专有钉钉小程序(浙政钉)开发搭建流程总览

最近公司有一个项目要做浙政钉,让我来负责做。靠,我一脸懵,开发了两年多不知道浙政钉是啥,感觉我眼界还是低了。然后就去百度、同事问了一圈才知道就是个钉钉小程序嘛,然后发布到浙政钉上了。就搭建项目跑起来我都肥了很多事,中间走了很多坑。正好领导让我写《钉钉小程序前端开发流程》,这想着也写个博客吧。下面就是整个流程及我所遇到的坑!

m0_53910290的博客 6358

Type-C快充移动电源芯片避坑指南:IP5356配置全流程(支持PD3.0)

本文详细解析了英集芯IP5356芯片在Type-C快充移动电源中的应用,提供了从芯片选型、原理图设计、PCB布局到PD协议调试的全流程实战指南。文章重点剖析了如何避免散热、EMI及协议握手等常见设计陷阱,并分享了量产前的关键测试验证方法,旨在帮助硬件开发者高效打造稳定可靠的快充产品。

weixin_29235525的博客 856

1.TreeView.应用--2.asp.net 2.0中TREEVIEW中动态增加结点--3.msdn中nasp.net 2.0中TREEVIEW中动态增加结点--4.TreeView.ImageSet 属性,换换treeview的皮肤

asp.net 2.0中TREEVIEW中动态增加结点3.msdn中nasp.net 2.0中TREEVIEW中动态增加结点4TreeView.ImageSet 属性,换换treeview的皮肤 获取或设置用于 TreeView 控件的图像组下面是一个应用的例子,如果有看不懂得可以到http://msdn2.microsoft.com/zh-cn/li

Simplicity is more complicated than you think 3219

OPC UA 协议详解

OPC UA(统一架构)是新一代工业自动化标准通信协议,替代传统OPC Classic,具有跨平台、高安全性、标准化等优势。基于TCP协议,支持全平台部署,采用面向对象架构组织数据,提供实时读写、事件订阅、历史数据访问等功能。作为工业4.0核心协议,适用于智能制造、数字孪生等场景,能实现多品牌设备统一接入。相比Modbus和MQTT,OPC UA协议更规范安全但复杂度较高,是大型工业集群互联的主流选择。

eastyuxiao的专栏 732

CPD约束盲图像去模糊:MATLAB实现与优化

图像去模糊是计算机视觉中的基础任务,其核心在于建立退化模型与恢复算法的映射关系。盲去模糊技术无需预先知道模糊核(点扩散函数),通过交叉偏导数(CPD)等空间约束条件,能有效捕捉边缘结构的二阶微分特性。该技术采用图像金字塔策略分层优化,结合Wiener滤波等经典复原方法,在相机抖动、离焦等常见模糊场景中表现优异。MATLAB实现时需注意中央差分法的数值精度,配合TV正则化等先验约束,可显著提升模糊核估计的鲁棒性。工程实践中,CPD约束与边缘检测初始化策略的结合,能平衡计算效率与复原质量,为安防监控、医学影像等

cuibinmo3519的博客 316

芒果YOLOv8改进16:检测头Head篇:即插即用|新颖轻量化非对称多级压缩LADH检测头,原创改进适配YOLOv8高效检测头,检测头新颖性改进,全网首发独一份

YOLOv8代码改进教程:即插即用|新颖轻量化非对称多级压缩LADH检测头🎈

包括YOLOv5、YOLOv7、YOLOv8等模型改进 5614

vs2017配置liblas库+测试代码

之前已经配置好pcl(vs2017配置pcl),可以单独配置liblas,也可以在原有pcl属性表的基础上继续配置

孙悟空 4023
上一篇: javascript事件查询综合
下一篇: 利用TreeView控件动态生成无限级树
bieqing
博客等级 码龄18年 9粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值