首 页 | 精品电影 | 音乐天堂 | 在线游戏 | Flash MTV | 三湘书屋 | 幽默笑话 | 三湘图库 | 美女写真 | IT知识库 | QQ贴图 | 加入书签

网页制作网络编程图形图象操作系统冲浪宝典软件教学网络安全认证考试通信技术电子商务业内动态书籍教程原码

最近更新 文章分类 多媒体类 精品软件

本站搜索:
您的位置:三湘时空 -> IT知识库 -> 文章分类 -> ASP.NET实例 -> 基于asp.net的webmenu的数据操作4  
基于asp.net的webmenu的数据操作4


文章类别:ASP.NET实例 来源: 作者: 发表日期:2005-10-4 字体:[ ]

小游戏 | 在线影院 | 幽默笑话 | 源码下载 | Flash MTV | 音乐试听 | 书屋 | 美女写真

程序代码如下:

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;

using System.Data.OleDb;

 

namespace WebApplication6

{

     /// <summary>

     /// WebForm1 的摘要说明。

     /// </summary>

     public class WebForm1 : System.Web.UI.Page

     {

         protected Coalesys.WebMenu.WebMenu csNetMenu;

    

         private void Page_Load(object sender, System.EventArgs e)

         {

              // 在此处放置用户代码以初始化页面

              csNetMenu.MenuBar.AbsoluteDockEnabled = false;

              csNetMenu.MenuBar.AbsoluteDragEnabled = false;

              csNetMenu.MenuBar.BackgroundColor = "";

              csNetMenu.MenuBar.OuterHighlightColor = "#666666";

              csNetMenu.MenuBar.OuterShadowColor = "#666666";

              csNetMenu.MenuBar.InnerShadowColor = "#F9F8F7";

              csNetMenu.MenuBar.HoverColor = "#dfdfdf";

              csNetMenu.MenuBar.SelectedColor = "#B6BDD2";

              csNetMenu.MenuBar.SelectedTextColor = "#000000";

              csNetMenu.BackgroundColor = "";

              csNetMenu.SelectedColor = "#B6BDD2";

              csNetMenu.OuterHighlightColor = "#c0c0c0";

              csNetMenu.OuterShadowColor = "#c0c0c0";

              csNetMenu.InnerShadowColor = "#808080";

              csNetMenu.PopupIcon = "./images/arrow-black.gif";

              csNetMenu.SelectedPopupIcon = "./images/arrow-white.gif";

              csNetMenu.ClearPixelImage = "./images/clearpixel.gif";          

 

              // Populate WebMenu

              LoadWebMenuData(csNetMenu);

         }

 

         //=============================================================================

         // LoadWebMenuData - load webmenu from database

         //

         // input:

         //  csWebMenu - [in] Coalesys.WebMenu.WebMenu object

         //

         // output:

         //   none

         //

         public void LoadWebMenuData(Coalesys.WebMenu.WebMenu csWebMenu)

         {

              Coalesys.WebMenu.Group csMenuGroup;

 

              // database info

              string dbConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";

              string dbPathString = Server.MapPath("./SelfReferencedTable.mdb");

              string dbSqlString = "SELECT * FROM Nodes ORDER BY ID";

 

              // Initiate OleDb interface

              OleDbConnection dbConn = new OleDbConnection(dbConnString + dbPathString);

              OleDbCommand dbComm = new OleDbCommand(dbSqlString, dbConn);

              OleDbDataAdapter dbAdapter = new OleDbDataAdapter();

 

              dbConn.Open();

 

              // Fill an ADO.NET DataSet

              DataSet ds = new DataSet();

              dbAdapter.SelectCommand = dbComm;

              dbAdapter.Fill(ds, "MenuItems");

 

              dbConn.Close();

 

              // Create the data relation between the ID and Parent_ID columns of the MenuItems table.

              // (this is the key to hierarchical navigating in a self-referencing table).

              DataRelation dr = ds.Relations.Add("MenuItemHierarchy",

                   ds.Tables["MenuItems"].Columns["ID"],

                   ds.Tables["MenuItems"].Columns["Parent_ID"]);

 

              // Start top-down navigation of the MenuItem rows.

              foreach(DataRow dbMenuItem in ds.Tables["MenuItems"].Rows)

              {

                   // If the Parent_ID colum is null, then this is a root menu item.

                   if(dbMenuItem.IsNull("Parent_ID"))

                   {

                       // Create a menu group for the root menu item

                       csMenuGroup = csWebMenu.Groups.Add();

                       csMenuGroup.Caption = dbMenuItem["Caption"].ToString();

 

                       // execute the recursive function to populate all it's children.

                       AddMenuItems(dbMenuItem.GetChildRows(dr), dr, csMenuGroup);

                   }

              }

         }

 

 

         //=============================================================================

         // AddMenuItems        - Recursive function to populate hierarchical Menu Items

         //                       from data rows that have parent/child relationships.

         //

         // input:

         //   dataRows      - [in] Child Rows

         //  dataRel            - [in] Data Relation

         //  webMenuGroup   - [in] WebMenu Group

         //

         // output:

         //   none

         //

         public void AddMenuItems(DataRow[] dataRows, DataRelation dataRel, Coalesys.WebMenu.Group webMenuGroup)

         {

              Coalesys.WebMenu.Item csMenuItem;

              Coalesys.WebMenu.Group csNestedMenuGroup;

              DataRow[] drChildren;

 

              foreach(DataRow dbMenuItem in dataRows)

              {

                   csMenuItem = webMenuGroup.Items.Add();

                   csMenuItem.Caption = dbMenuItem["Caption"].ToString();

                   csMenuItem.URL = dbMenuItem["URL"].ToString();

                   if (dbMenuItem["Enable"].ToString()=="True" )

                   {

                       csMenuItem.Enabled=true;

                   }

                   else

                   {

                       csMenuItem.Enabled=false;

                   }

                  

                   // check if this Item has children of it's own

                   drChildren = dbMenuItem.GetChildRows(dataRel);

                   // if so, create a group for the children and reenter this function.

                   if(drChildren.Length > 0)

                   {

                       csNestedMenuGroup = csMenuItem.AddGroup();

                       AddMenuItems(drChildren, dataRel, csNestedMenuGroup);

                   }

              }

         }

 

}


 

效果图如下:


上一篇:基于asp.net的webmenu的数据操作3 下一篇:基于asp.net的webmenu的数据操作5
本栏目热门文章
·ASP.Net实现将Word转换PDF格式 2005-10-4
·利用ASP.NET构建网上考试系统 2005-10-4
·在.NET 应用程序中用System.Web.Mail 发送电子邮件 2005-10-4
·用ASP.NET建立一个在线RSS新闻聚合器 2005-10-4
·基于asp.net的webmenu的数据操作2 2005-10-4
·基于asp.net的webmenu的数据操作4 2005-10-4
·基于asp.net的webmenu的数据操作3 2005-10-4
·ASP.NET中实时图表的实现 2005-10-4
·用Asp.net实现基于XML的留言簿之一 2005-10-4
·基于asp.net的webmenu的数据操作5 2005-10-4
新近更新文章
·如何在删除并重新安装 IIS 之后修复 IIS 映射 2006-5-22
·一个最简单的会员登陆代码 2006-5-18
·做完一个小网站的一点经验总结(2): asp.net+access程 2006-5-9
·做完一个小网站的一点经验总结(1): asp.net 与access 2006-5-9
·C#+ASP.NET开发基于Web的RSS阅读器 2006-2-10
·用ASP.NET建立一个在线RSS新闻聚合器 2005-10-4
·ASP.Net实现将Word转换PDF格式 2005-10-4
·ASP.NET WEB服务和Flash打造MP3播放器 2005-10-4
·利用ASP.NET构建网上考试系统 2005-10-4
·用ASP.NET写你自己的代码生成器 2005-10-4
首 页 | 软件发布 | 广告联系 | 下载帮助 | 意见反馈 | 网站地图
  CopyRight? 2002-2004 WWW.SXSKY.NET? All Rights Reserved
三湘时空 站长QQ:82675303 Email: