Source Code:
#region "menu 分層菜單的數(shù)據(jù)庫(kù) SQL SERVER 2000 綁定的操作"
protected void initMenu()
{
DataTable dt = GetViewTable();
DataView dv = new DataView(dt);
dv.RowFilter = "TreeParentID='0'";
string strMLinkL = "";
foreach (DataRowView drv in dv)
{
strMLinkL = drv["MLinkL"].ToString().Trim();
MenuItem node = new MenuItem();
node.Text = drv["TreeName"].ToString();
node.Value = drv["TreeValue"].ToString();
node.NavigateUrl = drv["TreeLink"].ToString().Trim()+"?strMLinkL="+strMLinkL;
node.ImageUrl = drv["TreeIco"].ToString().Trim();
node.Target = drv["TreeStr"].ToString();
Menu1.Items.Add(node);
// AddNodes(dt, node);
// 子節(jié)點(diǎn)
}
}
protected DataTable GetViewTable()
{
string strConn = "server =.;uid =sa;pwd =;database =Aspnet";
SqlConnection myConn = new SqlConnection(strConn);
string strSql = "select * from MenuTb ";
SqlDataAdapter myDa = new SqlDataAdapter(strSql, myConn);
DataTable dt = new DataTable();
myDa.Fill(dt);
return dt;
}
/// <summary>
/// 子節(jié)點(diǎn)添加
/// </summary>
/// <param name="dt">數(shù)據(jù)表</param>
/// <param name="pNode"></param>
protected void AddNodes(DataTable dt, MenuItem pNode)
{
DataView dv = new DataView(dt);
dv.RowFilter = "TreeParentID ='" + pNode.Value+"'";
foreach (DataRowView drv in dv)
{
MenuItem menuNode = new MenuItem();
menuNode.Value = drv["TreeValue"].ToString();
menuNode.Text = drv["TreeName"].ToString();
menuNode.ImageUrl = drv["TreeIco"].ToString().Trim();
menuNode.NavigateUrl = drv["TreeLink"].ToString().Trim();
menuNode.Target = drv["TreeStr"].ToString();
pNode.ChildItems.Add(menuNode);
//loop循環(huán)
AddNodes(dt, menuNode);
}
}
#endregion
}
DataBase Design :
1 ID int 4 0
0 TreeParentID char 20 1
0 TreeValue char 20 1
0 TreeName char 20 1
0 TreeLink nvarchar 50 1
0 TreeStr varchar 50 1
0 TreeIco char 20 1
0 MLinkL char 20 1
(Notes: the First 1 or 0 mean: 1: mark is yes ;
the Next 1 or 0 mean : 0: not allow null)
聯(lián)系客服