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;

最新文章

  1. 基于MST的立体匹配及相关改进(A Non-Local Cost Aggregation Method for Stereo Matching)
  2. 使用hbuilder编辑器实现移动app打包
  3. 一个简单的P2P传输程序
  4. 使用js制作一般网站首页图片轮播效果
  5. BI 项目管理之角色和职责
  6. Main.C时钟设定
  7. 在ios下提示“@synthesize of ‘weak’ property is only allowed in ARC or GC mode”
  8. 关于KVM的几篇细节文档
  9. ionic2 Navigation实现报错:No component factory found for &quot;MyComponent&quot;
  10. [转载]值得推荐的C/C++框架和库
  11. 快速理解RequireJs
  12. 原已经安装好的nginx,现在需要添加一个未被编译安装的模块--echo-nginx-module-0.56
  13. 用户 &#39;IIS APPPOOL\.NET v4.5 Classic&#39; 登录失败。
  14. Linux下利用ssh远程文件传输 传输命令 scp
  15. element 如何自定义主题
  16. linux学习笔记1——指令的基本格式及基本文件操作
  17. 数据库SQL语言学习--上机练习2(连接查询 嵌套查询)
  18. mybatis的操作数据库基础
  19. 【HDU1542】Atlantis
  20. Jmeter基础元件

热门文章

  1. MySQL ALTER命令-修改数据表名或者修改数据表字段
  2. Swift 数据类型
  3. C之函数返回一个以上的值
  4. tortoiseGit did not exit cleanly (exit code 128)
  5. 新西兰程序员 ASP.NET网站中设置404自定义错误页面
  6. java泛型中特殊符号的含义
  7. JAVA 基础编程练习题30 【程序 30 插入数字】
  8. Generate Maximum revenue by selling K tickets from N windows
  9. 【算法】矩阵填数,深度优先搜索(DFS),Pascal改C语言
  10. 跨域跨域跨域,从此say goodbye