winfrom_权限设置_TreeView的相关问题
2024-09-05 04:39:42
1.获取TreeView的值:
循环TreeView,获取checked每个节点的Text,串起来用逗号“,”隔开,保存到数据库。
List<string> list = new List<string>();
foreach (TreeNode treeNode in this.tv1.Nodes)
{
bool @checked = treeNode.Checked;
if (@checked)
{
bool flag = treeNode.Nodes.Count != ;
if (flag)
{
foreach (TreeNode treeNode2 in treeNode.Nodes)
{
list.Add(treeNode.Text + "," + treeNode2.Text);
}
}
else
{
list.Add(treeNode.Text);
}
}
}
txtTypeRemarks.Text = string.Join(",", list.ToArray()); model.Remarks = txtTypeRemarks.Text;
2.修改权限TreeView时:
获取数据库的权限数据,将字符串转数组,循环匹配TreeViewd 节点,相同的节点checked
----Load事件-----
txtTypeRemarks.Text = list[].Remarks;
foreach (TreeNode tnSub in tv1.Nodes)
{
FindTreeView(tnSub);
}
private void FindTreeView(TreeNode tn)
{
string[] strArray = txtTypeRemarks.Text.Split(','); //字符串转数组 tn.Checked = false;
string remark = string.Empty;
string tv = string.Empty;
for (int i = ; i < strArray.Length; i++)
{
remark = strArray[i].ToString().Trim();
tv = tn.Name.Trim();
if (remark == tv)
{
tn.Checked = true;
}
} }
3.用户登录后,权限效果显示:
用户登录成功后,从数据库获取该用户的权限详情,传到首界面,在点击某个模块时,匹配有权限这可以看到相应界面,否则弹出提示
public static string UserPower{ get;set;}
public string LoginUser { get; set; } private void FrmMainAdmin_Load(object sender, EventArgs e)
{
//从登录界面获取的权限详情字符串
FrmMainAdmin.UserPower = this.LoginUser;
7
}
//菜单栏
private void menu_SelectedIndexChanged(object sender, EventArgs e)
{
if (typeof(UIMenuBar).IsInstanceOfType(sender))
{
UIMenuBar menuBar = (UIMenuBar)sender;
switch (menuBar.SelectedItem.TargetModule)
{
case "学习内容管理":
bool flag = !FrmMainAdmin.UserPower.Contains("学习内容管理");
if (flag)
{
MessageBox.Show("您没有“学习内容管理”权限!");
}
else
{
AddTabPagesByForm(new Frm学习内容管理());
}
break;
最新文章
- 基于MST的立体匹配及相关改进(A Non-Local Cost Aggregation Method for Stereo Matching)
- 使用hbuilder编辑器实现移动app打包
- 一个简单的P2P传输程序
- 使用js制作一般网站首页图片轮播效果
- BI 项目管理之角色和职责
- Main.C时钟设定
- 在ios下提示“@synthesize of ‘weak’ property is only allowed in ARC or GC mode”
- 关于KVM的几篇细节文档
- ionic2 Navigation实现报错:No component factory found for ";MyComponent";
- [转载]值得推荐的C/C++框架和库
- 快速理解RequireJs
- 原已经安装好的nginx,现在需要添加一个未被编译安装的模块--echo-nginx-module-0.56
- 用户 &#39;IIS APPPOOL\.NET v4.5 Classic&#39; 登录失败。
- Linux下利用ssh远程文件传输 传输命令 scp
- element 如何自定义主题
- linux学习笔记1——指令的基本格式及基本文件操作
- 数据库SQL语言学习--上机练习2(连接查询 嵌套查询)
- mybatis的操作数据库基础
- 【HDU1542】Atlantis
- Jmeter基础元件
热门文章
- MySQL ALTER命令-修改数据表名或者修改数据表字段
- Swift 数据类型
- C之函数返回一个以上的值
- tortoiseGit did not exit cleanly (exit code 128)
- 新西兰程序员 ASP.NET网站中设置404自定义错误页面
- java泛型中特殊符号的含义
- JAVA 基础编程练习题30 【程序 30 插入数字】
- Generate Maximum revenue by selling K tickets from N windows
- 【算法】矩阵填数,深度优先搜索(DFS),Pascal改C语言
- 跨域跨域跨域,从此say goodbye