/// <summary> /// 创建子菜单 /// </summary> protected virtual void CreateSubMenu(PtMenuItem MenuItem, DataTable Dt) { DataView dv = new DataView(Dt); dv.RowFilter = "ParentItemID=" + MenuItem.ItemID.ToString(); foreach (DataRowView drv in dv) { PtMenuItem subMenu = this.CreateItem(drv); if (subMenu.IsChild) { CreateSubMenu(subMenu, Dt); } MenuItem.DropDownItems.Add(subMenu); } }
/// <summary> /// 创建菜单项 /// </summary> /// <returns></returns> protected virtual PtMenuItem CreateItem(DataRowView RowView) { PtMenuItem item = new PtMenuItem(); item.Text = RowView["Title"].ToString(); item.FullClassName = RowView["FullClassName"].ToString(); item.AssemblyPath = RowView["AssemblyPath"].ToString(); item.IsChild = Convert.ToBoolean(int.Parse(RowView["IsChild"].ToString())); item.ItemID = int.Parse(RowView["ItemID"].ToString()); if (item.ImageName.ToString().Length > 0) { Image img = Image.FromFile(item.ImageName); item.Image = img; } this.Eventbinder.Binder(item); Lemon.SendMsgDebug("加载菜单项:" + item.Text); return(item); }
/// <summary> /// 动态创建菜单 /// </summary> protected virtual void CreateMenu() { DataSet ds = new DataSet(); ds.ReadXml(this.xmlfilepath); DataView dv = ds.Tables[0].DefaultView; dv.RowFilter = "ParentItemID=0"; foreach (DataRowView drv in dv) { PtMenuItem menuItem = CreateItem(drv); if (menuItem.IsChild) { CreateSubMenu(menuItem, ds.Tables[0]); } this.items.Add(menuItem.ItemID.ToString(), menuItem); } }