制作一颗菜单树
来源:互联网 发布:vb中变量名的命名规则 编辑:程序博客网 时间:2024/06/10 01:44
从三个表中取得数据,生成一颗菜单树:
树的根是一个城市名称,它的子节点是这个城市的各个行政区,行政区的子节点为该行政区中的机构,机构的子节点为改机构中的工作人员 。了解了这颗树的结构后,脑海里已经浮现出这颗树的样式了吧
简单描述一下表:
行政区 ( 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
}
}
- 制作一颗菜单树
- 鱼眼菜单的制作(一)
- 使用CSS 制作导航菜单 (一)
- 利用HTML制作一二级导航菜单
- 导航条菜单的制作(一)
- 树目录菜单的制作
- 树目录菜单的制作
- 树型菜单的制作
- Feature开发一(制作一个简单的自定义菜单)
- WordPress主题导航菜单制作的几种方法(一)
- WordPress主题导航菜单制作的几种方法(一)
- WordPress主题导航菜单制作的几种方法(一)
- WordPress主题导航菜单制作的几种方法(一)
- (一)Bootstrap——基本下拉菜单制作步骤
- Jquery plugin制作:浮动树菜单
- JQ制作一个目录树菜单
- 菜单-二级菜单的制作
- 位图菜单的制作
- [转载]创建二维数组的方法
- C#/StreamReader/Web文件的上传
- 十五个名言
- 上传按钮,-----ASP代码实现
- C#:获得文件版本信息及只读文件的删除
- 制作一颗菜单树
- Lex和Yacc从入门到精通(1)--环境配置篇
- struts+hibernate+spring 通过spring的全权代理方式整合
- COM的调用
- GridView实现单选操作
- Ctrl-Alt-Delete发明人做出巨无霸重启键(图)
- java初学者都应该搞懂的问题!(转贴)
- Lex和Yacc从入门到精通(2)--正则表达式篇
- http中采用块传递方式的补充