All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
IFRAME跨域名的解决方法,终结版(小张.NET原创)_[Asp.Net教程]
利用UrlRewrite,asp.net动态生成htm页面(补充说明2)_[Asp.Net教程]
C#文件处理技术:FileStream使用方法
在DataGrid中为Footer添加自定义内容_[Asp.Net教程]
如何改变asp.net项目名称_.net资料_编程技术
几秒后自动跳转页面代码_[Html教程]
11种php相关的安全问题详解_[PHP教程]
C#教程: 电子邮件的发送使用实例
Login控件在UpdatePanel内当验证用户信息成功后出现页面刷新的解决办法_[Asp.Net教程]
SQL Server中删除重复数据的几个方法_[SQL Server教程]
Reading number is top 10 pictures
A man's favorite things9
美女当网吧管理员的悲剧
你的钱干净吗?
The wise woman of chest1
NeedWallpaper8
The hot big eye big breast beauty1
NeedWallpaper11
A resort photographed beautiful young woman change clothes process vomiting blood2
The money of more than 100 countries and regions10
关于提肛的健身效果
Download software ranking
都市狐狸姑娘传
Unix video tutorial1
The Bermuda triangle2
matrix1
I'm come from Beijing1
美女游泳记
Boxer vs Yellow2
Adobe Flash Player(IE) 10.0.32.18 浏览器专用的FLASH插件
jdk1.5
Boxer's Top ten classic battle9
aaa published in(发表于) 2013/12/18 7:58:23 Edit(编辑)
C#动态生成树型结构的Web程序设计_.net资料_编程技术

C#动态生成树型结构的Web程序设计_.net资料_编程技术

C#动态生成树型结构的Web程序设计_.net资料_编程技术-你的首页-uuhomepage.com
  摘 要 本文介绍一种基于web方式BS应用模式下,使用C#.net编程工具实现oracle数据库记录自动生成TreeView树型结构的程序设计。

  关键词 c# ;动态;树型;程序设计

  许多应用软件的程序设计,我们都希望能像Windows资源管理器那样将其驱动器和其下的文件及文件夹按照层次结构来安排。在C/S条件下这些很容易实现,那么在B/S的Web方式下,我们实现起来就不是特别容易。针对这个问题,在 2002 年,Microsoft? 发布了四种 ASP.NET Web 控件,用于为使用 Microsoft Internet Explorer 的 Web 访问者提供更好的体验。这些 Web 控件称为 Internet Explorer Web 控件,也简称为 IE Web 控件,其中就包含了TreeView Web 控件 ,它就为我们提供了一种按层次结构显示信息的方式。TreeView控件包含了称做“节点”(node)的一些条目的一个列表。每一个节点都可以有自己的节点集合,从而提供了一种更深层的数据定义。每个节点都可以被折叠起来,从而允许访问者在一个TreeView控件中查找,只看他所感兴趣的那一级的数据。就像Windows的资源管理器一样。只不过在使用前要安装IE Web Controls,并配置好运行环境后才能使用,使用Visual Studio .NET,则静态指定 TreeView 结构就像填写几份表格一样简单。

  虽然使用 Visual Studio .NET 将静态 TreeNote 添加到 TreeView 的过程非常简单,但通常需要将内容动态地添加到 TreeView 中。例如,您将目录树信息存储到了数据库中,或是正在设计一个资源管理器风格的 Web 应用程序(在此应用程序中,用户可以浏览 Web 服务器的文件系统),这时您可能需要根据服务器的文件夹和文件来动态填充 TreeNote。本文就是使用C#.net语言通过编程方式,配合Oracle数据库实现一种动态的效果,达到动态的将TreeNote 添加到 TreeView 的目的。

  1、 设计思路和方法

  该程序设计思路和方法是:通过编程方式将TreeNote 添加到 TreeView 中。要将新的 TreeNote 添加到现有的 TreeNote 中,只需要使用 Nodes 属性的 Add() 方法。方法是使用 C# 代码将创建两个 TreeNote,并将第二个 TreeNote 添加为第一个 TreeNote 的子节点。然后,将第一个子节点添加到 TreeView 的根节点中。

  2、开发实例及程序源码

  2.1 使用前数据库和IE Web控件的准备工作

  1)假如我们要建立如下图的数型结构

  C#动态生成树型结构的Web程序设计
  图 1

  图1说明:器材管理、工地信息、公共信息是根节点,其余是子节点。

  2)在oracle数据库中建立如下图表的数据库表及字段

C#动态生成树型结构的Web程序设计
  图 2

  图2 说明:在数据库中设计字段时将菜单等级确定下来,用流水号来表示唯一性。

  C#动态生成树型结构的Web程序设计
  图 3

  图3说明:器材管理根节点的子节点,所属主单序号001表明它要生成在器材管理之下。

  C#动态生成树型结构的Web程序设计
  图 4

  图4说明:工地信息根节点的子节点,所属主单序号002表明它要生成在工地信息之下。

  C#动态生成树型结构的Web程序设计
  图 5

  图5说明:公共信息根节点的子节点,所属主单序号005表明它要生成在公共信息之下。

  3)IE Web控件的准备工作

  IE Web 控件可以在安装了 .NET Framework 版本 1.0 或 1.1 的 Web 服务器上使用,在内含代码的类中使用 IE Web 控件,首先需要右击 Reference(引用),然后选择 Add Reference(添加引用),将引用添加到 Microsoft.Web.UI.WebControls.dll 程序集中。然后,在内含代码的类中,如果使用的是 C# ,则添加 using Microsoft.Web.UI.WebControls;

  2.2 界面和程序设计

  1) 上传设计

  1.1) Web界面如下

  C#动态生成树型结构的Web程序设计
  图 6

  图6说明:在界面上对应设置控件TreeView1.

  1.2) 动态生成TreeView源代码


using Microsoft.Web.UI.WebControls;//添加控件的引用

private void GetTreeView()//程序开始
{
 try
 {
  string strSql = "SELECT DISTINCT Menu_id,Menu_name from docmodulemanager where Menu_level = 1 and sn in

  ("+All.Substring(0,All.Length-1).ToString()+")";
  OracleDataAdapter
  objAdapter = new OracleDataAdapter(strSql,objConn);
  DataSet ds = new DataSet();
  ds.Clear ();
  objAdapter.Fill(ds,"temp");
  DataTable dt = ds.Tables["temp"];
  TreeView1.Nodes.Clear();
  //建立根节点,遍历。

  foreach(DataRow dr in dt.Rows)
  {
   TreeNode Root = new TreeNode();
   Root.Text = dr["Menu_name"].ToString();
   TreeView1.Nodes.Add(Root);//建立根节点
   string str = "SELECT Menu_name,menu_addr,sn from docmodulemanager where upper_id = '" + dr["Menu_id"].ToString() + "' and sn in ("+menu_sn.Substring(0,menu_sn.Length-1).ToString()+")"+"order by menu_id,child_id";

   OracleDataAdapter objAdapterNode = new OracleDataAdapter(str,objConn);
   DataSet dsNode = new DataSet();
   dsNode.Clear ();
   objAdapterNode.Fill(dsNode,"tempNode");
   DataTable dtNode = dsNode.Tables["tempNode"];

  //建立子节点,遍历。

  foreach(DataRow drNode in dtNode.Rows)
  {
   TreeNode Node = new TreeNode();
   Node.Text = drNode["Menu_name"].ToString();
   Node.Target = "mainbottom";
   string Path = drNode["menu_addr"].ToString();
   int menusn = Convert.ToInt32(drNode["sn"].ToString());
   Node.NavigateUrl = "Transfer.aspx"+"?menu_addr="+ Path;
   Root.Nodes.Add(Node);//建立子节点
  }
 }
}
catch
{
 Response.Write(" alert('您没有可操作的菜单项,请与管理员联系!'); ");
}
finally
{
 if (objConn.State.ToString().Equals ("Open")) objConn.Close();
}
}



添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.