Menu动态加载数据
来源:互联网 发布:网络商标续费多少钱 编辑:程序博客网 时间:2024/04/30 03:44
aspx:
<asp:Menu ID = "tvMenu" runat ="server">
<StaticMenuStyle BackColor="Silver" />
<StaticMenuItemStyle BackColor="LightSteelBlue" />
<DynamicHoverStyle BackColor="Fuchsia" />
<StaticSelectedStyle BackColor="Red" />
</asp:Menu>
<StaticMenuStyle BackColor="Silver" />
<StaticMenuItemStyle BackColor="LightSteelBlue" />
<DynamicHoverStyle BackColor="Fuchsia" />
<StaticSelectedStyle BackColor="Red" />
</asp:Menu>
cs:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Menutest : System.Web.UI.Page
{
SqlConnection Conn = new SqlConnection("server=A3161228A954417;database=SMS;uid=sa;pwd=sa");
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
}
private DataSet createDataSet()
{
ds = new DataSet();
string sqlStr = "select * from Tree ";
SqlDataAdapter cmdSelect = new SqlDataAdapter(sqlStr, Conn);
cmdSelect.Fill(ds, "Tree");
return ds;
}
protected void InitTree(MenuItemCollection Nds, string parentId)//用递归方法动态生成节点
{
DataView dv = new DataView();
MenuItem tmpNode;
dv.Table = ds.Tables["Tree"];
dv.RowFilter = "pat_id=" + "'" + parentId + "'";
foreach (DataRowView drv in dv)
{
tmpNode = new MenuItem();
tmpNode.Value = drv["node_id"].ToString();
tmpNode.Text = drv["node_name"].ToString();
tmpNode.NavigateUrl = drv["url"].ToString();
Nds.Add(tmpNode);
this.InitTree(tmpNode.ChildItems, tmpNode.Value);
}
}
protected void tvMenu_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
tvMenu.Dispose();
Conn.Open();
this.createDataSet();
Conn.Close();
this.InitTree(tvMenu.Items, "0");
}
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Menutest : System.Web.UI.Page
{
SqlConnection Conn = new SqlConnection("server=A3161228A954417;database=SMS;uid=sa;pwd=sa");
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
}
private DataSet createDataSet()
{
ds = new DataSet();
string sqlStr = "select * from Tree ";
SqlDataAdapter cmdSelect = new SqlDataAdapter(sqlStr, Conn);
cmdSelect.Fill(ds, "Tree");
return ds;
}
protected void InitTree(MenuItemCollection Nds, string parentId)//用递归方法动态生成节点
{
DataView dv = new DataView();
MenuItem tmpNode;
dv.Table = ds.Tables["Tree"];
dv.RowFilter = "pat_id=" + "'" + parentId + "'";
foreach (DataRowView drv in dv)
{
tmpNode = new MenuItem();
tmpNode.Value = drv["node_id"].ToString();
tmpNode.Text = drv["node_name"].ToString();
tmpNode.NavigateUrl = drv["url"].ToString();
Nds.Add(tmpNode);
this.InitTree(tmpNode.ChildItems, tmpNode.Value);
}
}
protected void tvMenu_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
tvMenu.Dispose();
Conn.Open();
this.createDataSet();
Conn.Close();
this.InitTree(tvMenu.Items, "0");
}
}
}
脚本:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tree]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tree]
GO
CREATE TABLE [dbo].[tree] (
[node_id] [int] NOT NULL ,
[node_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[pat_id] [int] NULL ,
[url] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[icon] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[memo] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
drop table [dbo].[tree]
GO
CREATE TABLE [dbo].[tree] (
[node_id] [int] NOT NULL ,
[node_name] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[pat_id] [int] NULL ,
[url] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[icon] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[memo] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
数据如下:(说明:用#可消除刷新)
1 根结点 0 # NULL NULL
2 子结点2 1 # NULL NULL
3 子结点3 1 # NULL NULL
4 子结点4 1 # NULL NULL
5 结点2-1 2 Default.aspx NULL NULL
6 结点2-2 2 # NULL NULL
7 结点3-1 3 # NULL NULL
8 结点3-2 3 # NULL NULL
2 子结点2 1 # NULL NULL
3 子结点3 1 # NULL NULL
4 子结点4 1 # NULL NULL
5 结点2-1 2 Default.aspx NULL NULL
6 结点2-2 2 # NULL NULL
7 结点3-1 3 # NULL NULL
8 结点3-2 3 # NULL NULL
- Menu动态加载数据
- menu控件动态加载数据
- Android 动态加载menu
- 动态加载menu item
- Ext:Ext.menu.Menu动态加载菜单
- zTree+php动态加载menu
- javascript树形菜单(一):Tigra Tree Menu,实现动态数据加载
- Ext 动态加载数据
- ListView数据动态加载
- Listview动态加载数据
- Listview动态加载数据
- ListView动态加载数据
- Listview动态加载数据
- checkBoxGroup动态加载数据
- 动态加载数据autoComplete
- SimpleAdapter 动态加载数据
- Listview动态加载数据
- Listview动态加载数据
- sql server 2005 海量数据处理
- 如何:在十六进制字符串与数值类型之间转换(C# 编程指南)
- Linux的异步IO机制(转)
- vmware经验总结--2.VMWare系列软件的安装
- Struts2框架安全缺陷[转贴]
- Menu动态加载数据
- 中兴为什么换帅?zz
- 基于ECOS的CMMB环境搭建
- How to automate mail merge to Word using OLE and ODBC[VFP调用Word邮件合并—微软提供]
- 扩频 扩频因子
- CSS研究之盒子模型
- 数组指针
- 困扰我多年的印度人点头摇头问题
- Linux源代码中一些有意思的宏定义