| // 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.
上一页 [1] [2] [3] [4] 下一页 |