zoukankan      html  css  js  c++  java
  • TreeView控件如何设置节点显示与隐藏,主要是用来做后台权限,没有权限的就隐藏,有权限的就显示?

    原文来自:http://wenwen.soso.com/z/q104168454.htm
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;

    /// <summary>
    /// TreeManage 的摘要说明
    /// </summary>
    public class TreeManage
    {
    public TreeManage()
    {

    }

    //创建树
    public void CreateTree(TreeView view, string RoleId)
    {
    CreateModule(view, RoleId);
    }
    //创建根结点
    private void CreateModule(TreeView view, string RoleId)
    {
    Bll.ModuleBll mod = new Bll.ModuleBll();
    DataTable dt = mod.SearchAllModule();
    foreach (DataRow dr in dt.Rows)
    {
    TreeNode node = new TreeNode();
    node.Text = dr["modName"].ToString();
    node.Value = dr["modId"].ToString();
    view.Nodes.Add(node);
    node.Checked = CheckModuleRights(RoleId, dr["modId"].ToString());
    CreatePage(node, RoleId); //生成某个模块节点的子节点
    }
    }
    private void CreatePage(TreeNode node, string RoleId)
    {
    Bll.ItempBll bi = new Bll.ItempBll();
    DataTable dt = bi.SearchAllPage(node.Value);
    foreach (DataRow dr in dt.Rows)
    {
    TreeNode cnode = new TreeNode();
    cnode.Text = dr["itemName"].ToString();
    cnode.Value = dr["itemId"].ToString();
    node.ChildNodes.Add(cnode);
    cnode.Checked = CheckPageRights(RoleId, dr["itemId"].ToString());
    }
    }

    private bool CheckModuleRights(string RoleId, string ModuleId)
    {
    Bll.ClerkModuleBll bcm = new Bll.ClerkModuleBll();
    DataTable dt = bcm.SearchModuleRight(ModuleId, RoleId);
    if (dt.Rows.Count > 0)
    {
    return true;
    }
    return false;
    }
    private bool CheckPageRights(string RoleId, string PageId)
    {
    Bll.ClerkItemBll bci = new Bll.ClerkItemBll();
    DataTable dt = bci.SearchPageRight(PageId, RoleId);
    if (dt.Rows.Count > 0)
    {
    return true;
    }
    return false;
    }

    public void CreateRights(TreeView view, string RoleId)
    {
    new Bll.ClerkItemBll().Delete(RoleId);
    new Bll.ClerkModuleBll().Delete(RoleId);
    CreateModuleRights(view, RoleId);
    }
    private void CreateModuleRights(TreeView view, string RoleId)
    {
    foreach (TreeNode node in view.Nodes)
    {
    Bll.ClerkModuleBll module = new Bll.ClerkModuleBll();
    if (node.Checked == true)
    {
    //分配模块的权限
    module.Insert(RoleId, node.Value);
    CreatePageRights(node, RoleId);
    }
    }
    }
    private void CreatePageRights(TreeNode node, string RoleId)
    {
    Bll.ClerkItemBll item = new Bll.ClerkItemBll();
    foreach (TreeNode cnode in node.ChildNodes)
    {
    if (cnode.Checked == true)
    {
    item.Insert(RoleId, cnode.Value);
    }
    }

    }
    }
  • 相关阅读:
    转载-WebSocket协议解析
    django sqlite3数据迁入postgresql
    使用JenKins实现自动执行python脚本
    调用函数的局部变量
    打开新窗口获取元素
    邮箱登录脚本
    购物车小程序
    循环
    格式化的输出
    使用#号输出图形,可以指定宽和高
  • 原文地址:https://www.cnblogs.com/wuhuisheng/p/2181577.html
Copyright © 2011-2022 走看看