从三个表中取得数据,生成一颗菜单树:
树的根是一个城市名称,它的子节点是这个城市的各个行政区,行政区的子节点为该行政区中的机构,机构的子节点为改机构中的工作人员。了解了这颗树的结构后,脑海里已经浮现出这颗树的样式了吧
简单描述一下表:
行政区 ( 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 += " |<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 += " | |<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 += " | | |" + 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
}
}
分享到:
相关推荐
js制作 树形菜单.zip
这是用javascript下的制作树形菜单
js中关于制作动态网页的树形制作菜单! 有关制作动态网页必备 制作左边的树形结构图!
菜单树(树数据结构+JSP页面递归调用构建菜单树)
使用jquery-ztree制作菜单树。
一个菜单和树相互转换的程序示例.
oracle菜单树查询 使用实例 使用START WITH CONNECT BY PRIOR子句实现递归查询
关于JS树形菜单的啊 网页关于JS树形菜单的啊 网页关于JS树形菜单的啊 网页关于JS树形菜单的啊 网页关于JS树形菜单的啊 网页关于JS树形菜单的啊 网页关于JS树形菜单的啊 网页关于JS树形菜单的啊 网页关于JS树形菜单的...
树形菜单
Javascript简单的树形菜单示例,Javascript开发。
基于js实现的树形结构,各种各样,类似于windows左边窗体的结构。
最近做网站时,发现的一款好资源,可以快速生成树形菜单,扩张性强,值得推荐!
菜单树,树结构采用jstree,dtree,自己在后台组装层多效的树。。
jquery树形导航菜单插件制作一个类似树形展示的slider滑动多级二级下拉菜单目录,支持无限嵌套。jquery插件,jquery下载。
利用CSS制作的树形菜单,页面中加入了框架,能够很容易的进行扩展,增加菜单数量和内容,易维护。
Java 菜单树的实现,可以很方便的移植到其他程序,方便使用,而且具有代表性.
前端树形菜单源码,前端树形菜单源码,前端树形菜单源码
根据从数据库查询出来的信息
是struts提供的标准库来制作菜单和树
layui做的后台首页,左侧菜单树和顶部菜单树都有,只需引入layui.css和js即可