public void LoadMenuRightsItem(MenuStrip msCurrentMenu, ListBox listBox)//, List<Rights> rightCollection)
{
string conStr = ConfigurationManager.ConnectionStrings["SQLSERVER"].ConnectionString;
ToolStripMenuItem MenuItem = null;
using (SqlConnection con = new SqlConnection(conStr))
{
string sql = "select sf.NodeID, sf.DisplayName,sf.FullFrmName,sf.NameSpaceName,sf.ParentNodeID,sf.EventName from UserInfo ui left outer join R_UserInfo_SysFun rus on ui.ID=rus.UserInfoID left outer join SysFun sf on rus.SysFunID=sf.NodeID where ui.ID=1 union select sf.NodeID ,sf.DisplayName,sf.FullFrmName,sf.NameSpaceName,sf.ParentNodeID,sf.EventName from UserInfo ui left outer join User_Roles ur on ui.ID=ur.UserID left outer join Roles r on ur.RoleID=r.ID left outer join Roles_SysFun rs on r.ID=rs.RolesID Right outer join SysFun sf on rs.SysFunID=sf.NodeID where ui.ID=1";
using (SqlCommand cmd = new SqlCommand(sql, con))
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
if (reader["ParentNodeID"].ToString() == "0")
{
ToolStripMenuItem mItem;
mItem = new ToolStripMenuItem(reader["DisplayName"].ToString());
msCurrentMenu.Items.Add(mItem);
SetSubMenu(mItem, reader["NodeID"].ToString());
//SetSubMenu((ToolStripMenuItem)msCurrentMenu.Items[reader["DisplayName"].ToString()], reader["NodeID"].ToString());
}
}
}
}
}
/// <summary>
/// 创建子菜单
/// </summary>
/// <param name="mItem">要创建的子菜单的父项</param>
/// <param name="mName>要创建的子菜单的父项名称</param>
public void SetSubMenu(ToolStripMenuItem mItem, string mName)
{
try
{
string conStr = ConfigurationManager.ConnectionStrings["SQLSERVER"].ConnectionString;
ToolStripMenuItem MenuItem = null;
using (SqlConnection con = new SqlConnection(conStr))
{
string sql = "select sf.NodeID, sf.DisplayName,sf.FullFrmName,sf.NameSpaceName,sf.ParentNodeID,sf.EventName from UserInfo ui left outer join R_UserInfo_SysFun rus on ui.ID=rus.UserInfoID left outer join SysFun sf on rus.SysFunID=sf.NodeID where ui.ID=1 union select sf.NodeID ,sf.DisplayName,sf.FullFrmName,sf.NameSpaceName,sf.ParentNodeID,sf.EventName from UserInfo ui left outer join User_Roles ur on ui.ID=ur.UserID left outer join Roles r on ur.RoleID=r.ID left outer join Roles_SysFun rs on r.ID=rs.RolesID Right outer join SysFun sf on rs.SysFunID=sf.NodeID where ui.ID=1";
using (SqlCommand cmd = new SqlCommand(sql, con))
{
con.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
if (reader["ParentNodeID"].ToString() == mName)
{
ToolStripMenuItem mSubItem;
EventHandler eh = GetEvent(reader["EventName"].ToString());
mSubItem = new ToolStripMenuItem(reader["DisplayName"].ToString(), null, eh); //
mItem.DropDownItems.Add(mSubItem);
// SetSubMenu((ToolStripMenuItem)mItem.DropDownItems[reader["DisplayName"].ToString()],reader["DisplayName"].ToString());
}
}
}
}
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
}
public EventHandler GetEvent(string eventName)
{
EventHandler eh = null;
switch (eventName.ToString())
{
case "DeptInfoClicked":
eh = new EventHandler(DeptInfoClicked);
break;
default:
eh = null;
break;
}
return eh;
}
public void DeptInfoClicked(object sender, EventArgs e)
{
MessageBox.Show("DeptInfoClicked");
}