#region 添加子菜单
int i = 0;
foreach (string MenuParentName in MenuParentNameList)
{
i++;
//当前子集数据
var SonMenuData = SwtoolMenu.AsEnumerable()
.Where(p => p.Field<string>("MenuParent") == MenuParentName && !p.Field<bool>("IsDeleted") && p.Field<bool>("IsActive"))
.OrderBy(q => q.Field<int>("CommandIndex")).Distinct();
if (i ==2 || i==3)
{
#region 第2和3个工具集全加入到第一级工具条中
//下拉菜单中增加分隔符号
MainMenu.AddSeparator(i);
//工具条上增加分隔符号
ToolbarButton tb = new ToolbarButton(MainToolBar);
tb.DrawSeparator = true;
//将比较重要的按钮加入到父级工具条中
foreach (var SonMenuItem in SonMenuData)
{
string MenuID = "ID_" + MainMenuName + "_" + SonMenuItem["ID"].ToString();
//增加到一级菜单
MainMenu.AddMenuItem(int.Parse(SonMenuItem["ID"].ToString()), SonMenuItem["MenuName"].ToString(), MenuID);
//增加到一级工具条
MainToolBar.AddToolbarButton(-1, SonMenuItem["MenuName"].ToString(), MenuID);
}
#endregion 第2和3个工具集全加入到第一级工具条中
}
else
{
#region 其它按钮加入到各自的子工具条中
//新建子菜单
PopMenu SonMenu = MainMenu.AddSubMenu(i, MenuParentName, "ID_SON_" + i.ToString());
//新建子按钮
Toolbar SonToolBar = cs.MenuGroup.AddToolbar(MenuParentName);
//新建子项菜单与按钮
foreach (var SonMenuItem in SonMenuData)
{
string MenuID = "ID_" + MainMenuName + "_" + SonMenuItem["ID"].ToString();
//增加到父菜单上
SonMenu.AddMenuItem(int.Parse(SonMenuItem["ID"].ToString()), SonMenuItem["MenuName"].ToString(), MenuID);
//增加到父按钮上
SonToolBar.AddToolbarButton(-1, SonMenuItem["MenuName"].ToString(), MenuID);
}
//将按钮子集增加到主工具栏上
MainToolBar.AttachToolbarToFlyout(-1, SonToolBar);
#endregion 其它按钮加入到各自的子工具条中
}
}
#endregion