Winform开发框架 - 表格编辑窗体权限控制
Winform开发框架 - 表格编辑窗体权限控制
1、定义菜单权限
模块主窗体添加菜单,并定义菜单权限。 定义一个菜单,一个按钮,如下图:
给菜单组件定义权限(Tag属性分配MenuItemTag实例)
C# 全选
menu业务员管理Grid编辑.Tag = new MenuItemTag(MenuType.Dialog, (int)CSFrameworkV6.Interfaces.ModuleID.DataDictionary, AuthorityCategory.MASTER_ACTION);
AuthorityCategory.MASTER_ACTION 权限值=1135
MASTER_ACTION常量参考
/// <summary>
/// 数据字典窗体:拥有的功能(增、删、改、查、导出、打印、预览)
/// </summary>
public const int MASTER_ACTION = DATA_ACTION_VALUE + REPORT_ACTION_VALUE;
参考:CSFrameworkV6.Core.dll ButtonAuthority.cs源码
2、表格编辑窗体权限控制
Form的Load事件最后一行,调用 SetPermission 方法:
C# 全选
private void frmPersonGrid_Load(object sender, EventArgs e)
{
//省略...................
this.BoundLookupData();
this.DoShowSummary();
this.SetPermission();
}
C# 全选
/// <summary>
/// 设置权限
/// </summary>
private void SetPermission()
{
//1、获取增、删、改权限
var allowAdd = this.ButtonAuthorized(ButtonAuthority.ADD);
var allowEdit = this.ButtonAuthorized(ButtonAuthority.EDIT);
var allowDel = this.ButtonAuthorized(ButtonAuthority.DELETE);
//2、控制表格是否可编辑,判断ADD/EDIT权限
gvSummary.OptionsBehavior.Editable = allowAdd && allowEdit;
//3、控制表格的新增、插入、删除按钮
gcSummary.SetCustomButtonEnable(nameof(DetailButtons.Add), allowAdd);
gcSummary.SetCustomButtonEnable(nameof(DetailButtons.Insert), allowAdd);
gcSummary.SetCustomButtonEnable(nameof(DetailButtons.Delete), allowDel);
}
若当前用户没有权限,表格无法编辑,按钮状态为禁用。
3、分配用户权限
参考系统管理模块的【角色定义】及【用户管理】,给测试用户分配角色进行测试。
注意:如果是新建的功能菜单,务必使用系统管理模块【菜单功能】导入菜单数据,然后定义角色权限。
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
CSFrameworkV6 C/S框架网