根据用户权限设置主窗体菜单
2013-12-10 10:24
417 查看
#region 根据用户权限设置主窗体菜单
/// <summary>
/// 根据用户权限设置菜单是否可用.
/// </summary>
/// <param name="MenuS">MenuStrip控件</param>
/// <param name="UName">当前登录用户名</param>
public void MainPope(MenuStrip MenuS, String UName)
{
string Str = "";
string MenuName = "";
DataSet DSet = MyDataClass.getDataSet("select ID from tb_Login where Name='" + UName + "'", "tb_Login"); //获取当前登录用户的信息
string UID = Convert.ToString(DSet.Tables[0].Rows[0][0]); //获取当前用户编号
DSet = MyDataClass.getDataSet("select ID,PopeName,Pope from tb_UserPope where ID='" + UID + "'", "tb_UserPope"); //获取当前用户的权限信息
bool bo = false;
for (int k = 0; k < DSet.Tables[0].Rows.Count; k++) //遍历当前用户的权限名称
{
Str = Convert.ToString(DSet.Tables[0].Rows[k][1]); //获取权限名称
if (Convert.ToInt32(DSet.Tables[0].Rows[k][2]) == 1) //判断权限是否可用
bo = true;
else
bo = false;
for (int i = 0; i < MenuS.Items.Count; i++) //遍历菜单栏中的一级菜单项
{
ToolStripDropDownItem newmenu = (ToolStripDropDownItem)MenuS.Items[i]; //记录当前菜单项下的所有信息
if (newmenu.HasDropDownItems && newmenu.DropDownItems.Count > 0) //如果当前菜单项有子级菜单项
for (int j = 0; j < newmenu.DropDownItems.Count; j++) //遍历二级菜单项
{
MenuName = newmenu.DropDownItems[j].Name; //获取当前菜单项的名称
if (MenuName.IndexOf(Str) > -1) //如果包含权限名称
newmenu.DropDownItems[j].Enabled = bo; //根据权限设置可用状态
ToolStripDropDownItem newmenu2 = (ToolStripDropDownItem)newmenu.DropDownItems[j]; //记录当前菜单项的所有信息
if (newmenu2.HasDropDownItems && newmenu2.DropDownItems.Count > 0) //如果当前菜单项有子级菜单项
for (int p = 0; p < newmenu2.DropDownItems.Count; p++) //遍历三级菜单项
{
MenuName = newmenu2.DropDownItems[p].Name; //获取当前菜单项的名称
if (MenuName.IndexOf(Str) > -1) //如果包含权限名称
newmenu2.DropDownItems[p].Enabled = bo; //根据权限设置可用状态
}
}
}
}
}
#endregion
/// <summary>
/// 根据用户权限设置菜单是否可用.
/// </summary>
/// <param name="MenuS">MenuStrip控件</param>
/// <param name="UName">当前登录用户名</param>
public void MainPope(MenuStrip MenuS, String UName)
{
string Str = "";
string MenuName = "";
DataSet DSet = MyDataClass.getDataSet("select ID from tb_Login where Name='" + UName + "'", "tb_Login"); //获取当前登录用户的信息
string UID = Convert.ToString(DSet.Tables[0].Rows[0][0]); //获取当前用户编号
DSet = MyDataClass.getDataSet("select ID,PopeName,Pope from tb_UserPope where ID='" + UID + "'", "tb_UserPope"); //获取当前用户的权限信息
bool bo = false;
for (int k = 0; k < DSet.Tables[0].Rows.Count; k++) //遍历当前用户的权限名称
{
Str = Convert.ToString(DSet.Tables[0].Rows[k][1]); //获取权限名称
if (Convert.ToInt32(DSet.Tables[0].Rows[k][2]) == 1) //判断权限是否可用
bo = true;
else
bo = false;
for (int i = 0; i < MenuS.Items.Count; i++) //遍历菜单栏中的一级菜单项
{
ToolStripDropDownItem newmenu = (ToolStripDropDownItem)MenuS.Items[i]; //记录当前菜单项下的所有信息
if (newmenu.HasDropDownItems && newmenu.DropDownItems.Count > 0) //如果当前菜单项有子级菜单项
for (int j = 0; j < newmenu.DropDownItems.Count; j++) //遍历二级菜单项
{
MenuName = newmenu.DropDownItems[j].Name; //获取当前菜单项的名称
if (MenuName.IndexOf(Str) > -1) //如果包含权限名称
newmenu.DropDownItems[j].Enabled = bo; //根据权限设置可用状态
ToolStripDropDownItem newmenu2 = (ToolStripDropDownItem)newmenu.DropDownItems[j]; //记录当前菜单项的所有信息
if (newmenu2.HasDropDownItems && newmenu2.DropDownItems.Count > 0) //如果当前菜单项有子级菜单项
for (int p = 0; p < newmenu2.DropDownItems.Count; p++) //遍历三级菜单项
{
MenuName = newmenu2.DropDownItems[p].Name; //获取当前菜单项的名称
if (MenuName.IndexOf(Str) > -1) //如果包含权限名称
newmenu2.DropDownItems[p].Enabled = bo; //根据权限设置可用状态
}
}
}
}
}
#endregion
相关文章推荐
- 052医疗项目-模块五:权限设置-实现根据用户显示不同的菜单
- CKFinder根据用户设置权限,不同用户有自己的私有的、独立的文件夹
- Asp.net web 根据不同的用户权限显示不同的菜单
- [转载内容]动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值,public static Object CreateInstance ( Type type, params Object[] args )
- OA权限模块根据用户权限显示不同的菜单
- 从零开始写C# MVC框架之--- 根据用户角色权限获取菜单
- Sharepoint 2010 根据用户权限隐藏Ribbon菜单
- 动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值,public static Object CreateInstance ( Type type, params Object[] args )
- 在Windows Server 系统中根据用户对文件夹设置访问权限设置的方法
- Sharepoint 2010 根据用户权限隐藏Ribbon菜单
- Django 权限认证 编写 -- 根据不同的用户,设置不同的显示和访问权限
- 动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值【转】
- Sharepoint 2010 根据用户权限隐藏Ribbon菜单(利用css)
- Sharepoint 2010 根据用户权限隐藏Ribbon菜单(利用css)
- 根据用户权限,动态显示用户菜单
- andorid后台根据用户权限配置前台菜单功能实现
- 根据用户权限和角色拼接菜单
- 动态创建菜单,menustrip,根据权限显示菜单,控制菜单可用,反射,给窗体传值,反射对象传值,public static Object CreateInstance ( Type type, pa
- Sharepoint 2010 根据用户权限隐藏Ribbon菜单(利用css)
- Sharepoint 2010 根据用户权限隐藏Ribbon菜单