欢迎来到天天文库
浏览记录
ID:59256018
大小:58.52 KB
页数:5页
时间:2020-09-08
《C动态生成树型结构的Web程序设计.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#动态生成树型结构的Web程序设计许多应用软件的程序设计,我们都希望能像Windows资源管理器那样将其驱动器和其下的文件及文件夹按照层次结构来安排。在C/S条件下这些很容易实现,那么在B/S的Web方式下,我们实现起来就不是特别容易。针对这个问题,在2002年,Microsoft?发布了四种ASP.NETWeb控件,用于为使用MicrosoftInternetExplorer的Web访问者提供更好的体验。这些Web控件称为InternetExplorerWeb控件,也简称为IEWeb控件,其中就包含了TreeViewWeb控件,它就为我们提供了一种按层次结构显示信
2、息的方式。TreeView控件包含了称做“节点”(node)的一些条目的一个列表。每一个节点都可以有自己的节点集合,从而提供了一种更深层的数据定义。每个节点都可以被折叠起来,从而允许访问者在一个TreeView控件中查找,只看他所感兴趣的那一级的数据。就像Windows的资源管理器一样。只不过在使用前要安装IEWebControls,并配置好运行环境后才能使用,使用VisualStudio.NET,则静态指定TreeView结构就像填写几份表格一样简单。 虽然使用VisualStudio.NET将静态TreeNote添加到TreeView的过程非常简单,但通常需要将
3、内容动态地添加到TreeView中。例如,您将目录树信息存储到了数据库中,或是正在设计一个资源管理器风格的Web应用程序(在此应用程序中,用户可以浏览Web服务器的文件系统),这时您可能需要根据服务器的文件夹和文件来动态填充TreeNote。本文就是使用C#.net语言通过编程方式,配合Oracle数据库实现一种动态的效果,达到动态的将TreeNote添加到TreeView的目的。 1、设计思路和方法 该程序设计思路和方法是:通过编程方式将TreeNote添加到TreeView中。要将新的TreeNote添加到现有的TreeNote中,只需要使用Nodes属性的A
4、dd()方法。方法是使用C#代码将创建两个TreeNote,并将第二个TreeNote添加为第一个TreeNote的子节点。然后,将第一个子节点添加到TreeView的根节点中。 2、开发实例及程序源码 2.1使用前数据库和IEWeb控件的准备工作 1)假如我们要建立如下图的数型结构 图1 图1说明:器材管理、工地信息、公共信息是根节点,其余是子节点。 2)在oracle数据库中建立如下图表的数据库表及字段 图2 图2说明:在数据库中设计字段时将菜单等级确定下来,用流水号来表示唯一性。 图3 图3说明:器材管理根节点的子节点,所属主单序
5、号001表明它要生成在器材管理之下。 图4 图4说明:工地信息根节点的子节点,所属主单序号002表明它要生成在工地信息之下。 图5 图5说明:公共信息根节点的子节点,所属主单序号005表明它要生成在公共信息之下。 3)IEWeb控件的准备工作 IEWeb控件可以在安装了.NETFramework版本1.0或1.1的Web服务器上使用,在内含代码的类中使用IEWeb控件,首先需要右击Reference(引用),然后选择AddReference(添加引用),将引用添加到Microsoft.Web.UI.WebControls.dll程序集中。然后,在内
6、含代码的类中,如果使用的是C#,则添加usingMicrosoft.Web.UI.WebControls; 2.2界面和程序设计 1)上传设计 1.1)Web界面如下 图6 图6说明:在界面上对应设置控件TreeView1. 1.2)动态生成TreeView源代码usingMicrosoft.Web.UI.WebControls;//添加控件的引用privatevoidGetTreeView()//程序开始{ try { stringstrSql="SELECTDISTINCTMenu_id,Menu_namefromdocmodulemanager
7、whereMenu_level=1andsnin ("+All.Substring(0,All.Length-1).ToString()+")"; OracleDataAdapter objAdapter=newOracleDataAdapter(strSql,objConn); DataSetds=newDataSet(); ds.Clear(); objAdapter.Fill(ds,"temp"); DataTabledt=ds.Tables["temp"]; TreeView1.Nodes.Clear(); //建立根节点,
此文档下载收益归作者所有