数据库表结构为:
表名:treeTable
字段:L_ID:主键ID
L_Name:树中显示的菜单名
P_L_ID:属于某个菜单
L_Page:导向路径
L_PageName:文件名
示例数据:
L_ID | L_Name | P_L_ID | L_Page | L_PageName |
1 | 根1 | 0 | ..... | ...... |
2 | 根2 | 0 | ...... | ....... |
3 | 子11 | 1 | ..... | ...... |
4 | 子12 | 1 | ...... | ....... |
5 | 子13 | 1 | ...... | ...... |
6 | 子21 | 2 | ....... | ...... |
//
数据绑定左边web菜单
private void DataBindWebList()
... {
DataConndc=newDataConn(SpecialClass.strConn);
DataTabledt=newDataTable();
dt=dc.GetDataTable("selectL_ID,L_Name,P_L_ID,(L_Page+L_PageName)asURLPathfromtreeTable");
InitWebListGroup(this.wlbLeft.Groups,"0",dt);
}
// 添加组
private void InitWebListGroup(Infragistics.WebUI.UltraWebListbar.GroupsGps, string pID,DataTabledata)
... {
Infragistics.WebUI.UltraWebListbar.GrouptmpGp;
DataRow[]rows=data.Select("P_L_ID=0");
foreach(DataRowrowinrows)
...{
tmpGp=newInfragistics.WebUI.UltraWebListbar.Group();
tmpGp.Key=row["L_ID"].ToString();
tmpGp.Text=row["L_Name"].ToString();
Gps.Add(tmpGp);
InitWebListItems(tmpGp.Items,tmpGp.Key.ToString(),data);
tmpGp.TextAlign="Center";
}
}
// 添加组成员
private void InitWebListItems(Infragistics.WebUI.UltraWebListbar.Itemsitems, string pID,DataTabledata)
... {
Infragistics.WebUI.UltraWebListbar.Itemitem;
DataRow[]rows=data.Select("P_L_ID='"+pID+"'");
foreach(DataRowrowinrows)
...{
item=newInfragistics.WebUI.UltraWebListbar.Item();
item.Key=row["L_ID"].ToString();
item.Text=row["L_Name"].ToString();
item.TargetUrl=row["URLPath"].ToString();
item.TargetFrame="main";
items.Add(item);
}
}
private void DataBindWebList()
... {
DataConndc=newDataConn(SpecialClass.strConn);
DataTabledt=newDataTable();
dt=dc.GetDataTable("selectL_ID,L_Name,P_L_ID,(L_Page+L_PageName)asURLPathfromtreeTable");
InitWebListGroup(this.wlbLeft.Groups,"0",dt);
}
// 添加组
private void InitWebListGroup(Infragistics.WebUI.UltraWebListbar.GroupsGps, string pID,DataTabledata)
... {
Infragistics.WebUI.UltraWebListbar.GrouptmpGp;
DataRow[]rows=data.Select("P_L_ID=0");
foreach(DataRowrowinrows)
...{
tmpGp=newInfragistics.WebUI.UltraWebListbar.Group();
tmpGp.Key=row["L_ID"].ToString();
tmpGp.Text=row["L_Name"].ToString();
Gps.Add(tmpGp);
InitWebListItems(tmpGp.Items,tmpGp.Key.ToString(),data);
tmpGp.TextAlign="Center";
}
}
// 添加组成员
private void InitWebListItems(Infragistics.WebUI.UltraWebListbar.Itemsitems, string pID,DataTabledata)
... {
Infragistics.WebUI.UltraWebListbar.Itemitem;
DataRow[]rows=data.Select("P_L_ID='"+pID+"'");
foreach(DataRowrowinrows)
...{
item=newInfragistics.WebUI.UltraWebListbar.Item();
item.Key=row["L_ID"].ToString();
item.Text=row["L_Name"].ToString();
item.TargetUrl=row["URLPath"].ToString();
item.TargetFrame="main";
items.Add(item);
}
}