`
izuoyan
  • 浏览: 8933192 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

制作一颗菜单树

阅读更多

  从三个表中取得数据,生成一颗菜单树:

  树的根是一个城市名称,它的子节点是这个城市的各个行政区,行政区的子节点为该行政区中的机构,机构的子节点为改机构中的工作人员。了解了这颗树的结构后,脑海里已经浮现出这颗树的样式了吧

  简单描述一下表:

  行政区 ( district ) { districtCode, parentDistrictCode, districtName }

  机构 (organization ) {orgCode, districtCode,orgName }

  人员 ( user) {userID, orgCode, userName}

  前台treeVie内容

<%@ Page language="c#" Codebehind="TreeView.aspx.cs" AutoEventWireup="false" Inherits="TreeView" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>菜单树</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<LINK href="../css/style.css" type="text/css" rel="stylesheet">
<script language="javascript">
<!--
function TurnTheDiv(divCode)
{
 var _divCode = divCode;
  if(document.getElementById(_divCode).style.display == "")
  {
   document.getElementById(_divCode).style.display = "none";
  }
  else
  {
   document.getElementById(_divCode).style.display = "";
  }
}
//-->
</script>
</HEAD>
<body MS_POSITIONING="GridLayout" >
<form id="Form1" method="post" runat="server">
<table class="bk">
<tr>
<td>
<FONT face="宋体">
<span onclick = "TurnTheDiv('wuhanshi');">城市名</span>
<div id="showTheTree" runat="server"></DIV>
</FONT>
</td>
</tr>
</table>
</form>

</body>
</HTML>

  后台TreeView.aspx.cs代码

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace chsWebApplication.OnlineDoctor
{
/// <summary>
/// DoctorInfo 的摘要说明。
/// </summary>
public class TreeView: System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlGenericControl showTheTree;
protected string strHtmlCode = "";
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.Page.IsPostBack)
{
DataTable districtDT = new DataTable();
DistrictDAO districtDao = new DistrictDAO();
using(districtDT = districtDao.GetDistirctName(System.Configuration.ConfigurationSettings.AppSettings["WuHanShi"].ToString()))
{
strHtmlCode += "<div id=wuhanshi style='display:none;'>";
foreach(DataRow districtDR in districtDT.Rows)
{
strHtmlCode += "&nbsp;&nbsp;|<span onclick = \"TurnTheDiv(\'org"+districtDR["districtCode"].ToString()+"\');\">" + districtDR["name"] + "</span><br>";
DataTable orgDT = new DataTable();
C_OrganizationDAO orgDao = new C_OrganizationDAO();
using(orgDT = orgDao.OrgOfDistrict(districtDR["districtCode"].ToString()))
{
strHtmlCode += "<div id=org"+districtDR["districtCode"].ToString()+" style='display:none;'>";
foreach(DataRow orgDR in orgDT.Rows)
{
strHtmlCode += "&nbsp;&nbsp;|&nbsp;&nbsp;|<span onclick = \"TurnTheDiv('user"+orgDR["orgcode"].ToString()+"');\">" + orgDR["name"] + "</span><br>";
DataTable userDT = new DataTable();
UserDAO userDao = new UserDAO();
using(userDT = userDao.DoctorOfOrg(orgDR["orgcode"].ToString()))
{
strHtmlCode += "<div id=user"+orgDR["orgcode"].ToString()+" style='display:none;'>";
foreach(DataRow userDR in userDT.Rows)
{
strHtmlCode += "&nbsp;&nbsp;|&nbsp;&nbsp;|&nbsp;&nbsp;|" + userDR["username"] + "<br>";
}
strHtmlCode += "</div>";
}
}
strHtmlCode += "</div>";
}
}
strHtmlCode += "</div>";
}
//输出HTML代码
showTheTree.InnerHtml = strHtmlCode;
}
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics