winfrom_权限设置_TreeView的相关问题

1.获取TreeView的值:

  循环TreeView,获取checked每个节点的Text,串起来用逗号“,”隔开,保存到数据库。

 1  List<string> list = new List<string>();
 2             foreach (TreeNode treeNode in this.tv1.Nodes)
 3             {
 4                 bool @checked = treeNode.Checked;
 5                 if (@checked)
 6                 {
 7                     bool flag = treeNode.Nodes.Count != 0;
 8                     if (flag)
 9                     {
10                         foreach (TreeNode treeNode2 in treeNode.Nodes)
11                         {
12                             list.Add(treeNode.Text + "," + treeNode2.Text);
13                         }
14                     }
15                     else
16                     {
17                         list.Add(treeNode.Text);
18                     }
19                 }
20             }
21             txtTypeRemarks.Text = string.Join(",", list.ToArray());
22 
23             model.Remarks = txtTypeRemarks.Text;

 

2.修改权限TreeView时:

   获取数据库的权限数据,将字符串转数组,循环匹配TreeViewd 节点,相同的节点checked

1                     ----Load事件-----
2                     txtTypeRemarks.Text = list[0].Remarks;
3                         foreach (TreeNode tnSub in tv1.Nodes)
4                         {
5                             FindTreeView(tnSub);
6                         }
 1  private void FindTreeView(TreeNode tn)
 2         {
 3             string[] strArray = txtTypeRemarks.Text.Split(','); //字符串转数组
 4             
 5             tn.Checked = false;
 6             string remark = string.Empty;
 7             string tv = string.Empty;
 8             for (int i = 0; i < strArray.Length; i++)
 9             {
10                 remark = strArray[i].ToString().Trim();
11                 tv = tn.Name.Trim();
12                 if (remark == tv)
13                 {
14                     tn.Checked = true;
15                 }
16             }
17             
18         }

3.用户登录后,权限效果显示:

      用户登录成功后,从数据库获取该用户的权限详情,传到首界面,在点击某个模块时,匹配有权限这可以看到相应界面,否则弹出提示

 1   public static string UserPower{ get;set;}
2 public string LoginUser { get; set; } 3 4 private void FrmMainAdmin_Load(object sender, EventArgs e) 5 {
//从登录界面获取的权限详情字符串
6 FrmMainAdmin.UserPower = this.LoginUser;
7
8 } 9 //菜单栏 10 private void menu_SelectedIndexChanged(object sender, EventArgs e) 11 { 12 if (typeof(UIMenuBar).IsInstanceOfType(sender)) 13 { 14 UIMenuBar menuBar = (UIMenuBar)sender; 15 switch (menuBar.SelectedItem.TargetModule) 16 { 17 case "学习内容管理":
18 bool flag = !FrmMainAdmin.UserPower.Contains("学习内容管理"); 19 if (flag) 20 { 21 MessageBox.Show("您没有“学习内容管理”权限!"); 22 } 23 else 24 { 25 AddTabPagesByForm(new Frm学习内容管理()); 26 } 27 break;

 

posted @ 2017-12-29 16:01  Bonnie_W  阅读(249)  评论(0编辑  收藏  举报