Example #1
0
        private frmChangeTagName(TreeNode node)
        {
            _node = node;
            _tag  = node.Tag as ActionNodeTag;
            InitializeComponent();

            this.textEdit1.Text = node.Text;
        }
Example #2
0
        /// <summary>
        /// 初始化功能点树结点
        /// </summary>
        /// <param name="node">功能点所在的树结点</param>
        /// <param name="menuItem">菜单项</param>
        private void InitAction(TreeNode node, ToolStripItem menuItem)
        {
            if (menuItem.Tag == null || !(menuItem.Tag is MenuItemTag))
            {
                return;                                            //功能菜单没有分配权限,不处理
            }
            MenuItemTag menuItemTag = menuItem.Tag as MenuItemTag; //取菜单的功能权限对象

            if (menuItemTag.MenuType != MenuType.DataForm)
            {
                return;                                           //只处理数据窗体
            }
            if (menuItemTag.FormAuthorities == 0)
            {
                return;                                   //此菜单对应的窗体没有分配权限(功能点)
            }
            //取当前菜单权限.SystemAuthentication.UserAuthorities当前用户的权限数据
            DataRow auth = GetDataRowByMenuName(SystemAuthentication.UserAuthorities, menuItemTag.ModuleID, menuItem.Name);

            int         userAuths = auth == null ? 0 : ConvertEx.ToInt(auth[tb_sys_UG_Auth.FAuths]); //当前用户拥有此菜单的权限
            AuthNodeTag tag1      = node.Tag as AuthNodeTag;                                         //取树结点的引用对象
            //int formAuths = menuItemTag.FormAuthorities; //窗体可用的功能点
            bool   isAdmin   = Loginer.CurrentUser.IsAdmin();                                        //是否系统管理员
            int    formAuths = tag1.DataRow == null ? 0 :Convert.ToInt32(tag1.DataRow[tb_sys_Function.FAuths].ToString());
            string sFun      = tag1.DataRow == null?tag1.FUnctionID.ToString() : tag1.DataRow[tb_sys_Function.__KeyName].ToString();

            string filter = string.Format(tb_sys_Fun_MenuBar.FFunctionID + "={0}", sFun);

            DataRow[] rs = _AuthorityItem.Select(filter);
            foreach (DataRow row in rs)                                               //循环所有功能点.
            {
                int value = int.Parse(row[tb_sys_Fun_MenuBar.FAuthority].ToString()); //功能点权限值
                if (value == 0)
                {
                    continue;            //不显示权限值为0的功能点
                }
                if ((value & formAuths) != value)
                {
                    continue;
                }
                //用每个功能点的值与窗体的最大权限进行逻辑"与"运算, 但不能超出当前用户的权限.
                //if (isAdmin || ((value & userAuths) == value))
                //{
                string caption = row[tb_sys_Fun_MenuBar.FName].ToString();     //取功能点名称
                //DataRow tagNameRow = GetCustomTagName(menuItem.Name, value); //取功能点的自定义名称资料行
                //if (tagNameRow != null) caption = tagNameRow["TagName"].ToString();//如果有自定义名称,则取定义名

                //构建一个树结点Tag属性的引用对象,Node.Tag=引用对象
                ActionNodeTag tag = new ActionNodeTag(value, auth);
                tag.TagMenuNameRef = menuItem.Name;
                tag.TagNameTable   = _FormTagCustomName;
                tag.TagNameDataRow = row;
                tag.TagNameOld     = caption;                      //按钮标题

                TreeNode actionNode = new TreeNode(caption, 0, 0); //新增树结点
                actionNode.Tag                = tag;               //绑定引用的对象
                actionNode.ImageIndex         = 2;
                actionNode.SelectedImageIndex = 2;

                node.Nodes.Add(actionNode);
                //}
            }
        }
Example #3
0
        /// <summary>
        /// 初始化功能点树结点
        /// </summary>
        /// <param name="node">功能点所在的树结点</param>
        /// <param name="menuItem">菜单项</param>
        private void InitAction(TreeNode node, ToolStripItem menuItem)
        {
            if (menuItem.Tag == null || !(menuItem.Tag is MenuItemTag)) return; //功能菜单没有分配权限,不处理

            MenuItemTag menuItemTag = menuItem.Tag as MenuItemTag;//取菜单的功能权限对象

            if (menuItemTag.MenuType != MenuType.DataForm) return;//只处理数据窗体
            if (menuItemTag.FormAuthorities == 0) return; //此菜单对应的窗体没有分配权限(功能点)

            //取当前菜单权限.SystemAuthentication.UserAuthorities当前用户的权限数据
            DataRow auth = GetDataRowByMenuName(SystemAuthentication.UserAuthorities, menuItemTag.ModuleID, menuItem.Name);

            int userAuths = auth == null ? 0 : ConvertEx.ToInt(auth[tb_sys_UG_Auth.FAuths ]);//当前用户拥有此菜单的权限
            AuthNodeTag tag1 = node.Tag as AuthNodeTag; //取树结点的引用对象
            //int formAuths = menuItemTag.FormAuthorities; //窗体可用的功能点
            bool isAdmin = Loginer.CurrentUser.IsAdmin();//是否系统管理员
            int formAuths = tag1.DataRow == null ? 0 :Convert.ToInt32( tag1.DataRow[tb_sys_Function.FAuths].ToString());
            string sFun = tag1.DataRow == null ? tag1.FUnctionID.ToString() : tag1.DataRow[tb_sys_Function.__KeyName].ToString();
            string filter = string.Format(tb_sys_Fun_MenuBar.FFunctionID + "={0}", sFun);
            DataRow[] rs = _AuthorityItem.Select(filter);
            foreach (DataRow row in rs) //循环所有功能点.
            {

                int value = int.Parse(row[tb_sys_Fun_MenuBar.FAuthority].ToString());//功能点权限值
                if (value == 0) continue;//不显示权限值为0的功能点
                if ((value & formAuths) != value) continue;
                //用每个功能点的值与窗体的最大权限进行逻辑"与"运算, 但不能超出当前用户的权限.
                //if (isAdmin || ((value & userAuths) == value))
                //{
                    string caption = row[tb_sys_Fun_MenuBar.FName].ToString(); //取功能点名称
                    //DataRow tagNameRow = GetCustomTagName(menuItem.Name, value); //取功能点的自定义名称资料行
                    //if (tagNameRow != null) caption = tagNameRow["TagName"].ToString();//如果有自定义名称,则取定义名

                    //构建一个树结点Tag属性的引用对象,Node.Tag=引用对象
                    ActionNodeTag tag = new ActionNodeTag(value, auth);
                    tag.TagMenuNameRef = menuItem.Name;
                    tag.TagNameTable = _FormTagCustomName;
                    tag.TagNameDataRow = row;
                    tag.TagNameOld = caption; //按钮标题

                    TreeNode actionNode = new TreeNode(caption, 0, 0);//新增树结点
                    actionNode.Tag = tag;//绑定引用的对象
                    actionNode.ImageIndex = 2;
                    actionNode.SelectedImageIndex = 2;

                    node.Nodes.Add(actionNode);
                //}
            }
        }