基于asp.net的webmenu的数据操作(4)
点击次数:18 次 发布日期:2008-11-26 16:16:52 作者:源代码网
|
源代码网推荐 源代码网推荐 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); 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 效果图如下: 源代码网推荐
源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 源代码网推荐 做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。 源代码网推荐 源代码网供稿. |
