`

RDIFramework.NET开发实例━表约束条件权限的使用-WinForm

阅读更多

RDIFramework.NET开发实例━表约束条件权限的使用-WinForm

        

      在实际的应用中,客户常有这样的需求,指定用户或角色可以看指定条件下的数据,这里的“指定条件”在RDIFramework.NET框架中,我们称作为“用户或角色的约束条件表达式”。要完成这样的功能,可以通过RDIFramework.NET框架中的用户或角色的“约束条件权限设置”功能即可完成,再在你的业务表单中调用我们的得到用户或角色的约束条件表达式接口即可完成。

       可以调用框架提供的下面几个接口即可完成对用户或角色约束条件的得到。

1
2
1、RDIFrameworkService.Instance.TableColumnsService.GetConstraint
2、RDIFrameworkService.Instance.TableColumnsService.GetUserConstraint

  下面我们以实例进行展示约束条件权限的设置,可供用户参考。

      要使用“约束条件权限”首先需要在用户权限或角色权限中设置用户或角色的“约束条件”表达式。用户的“约束条件权限设置”如下图所示:  

  在“系统管理”→“用户权限管理”→“权限设置”→“约束条件权限设置”,即可打开上面的窗口。在“表约束条件”设置窗口,可以选择我们需要设置表的约束条件,点击“设置条件表达式”即可设置。如下图所示:  

      在上图中,我们可以对设置的约束条件表达式进行验证是否正确,可以还可以查看约束表达式所展示的数据集等操作,“查看约束数据集”如下图所示:  

  “角色约束条件的设置”与“用户约束条件设置”类似,可参考上面的“用户约束条件设置”,角色约束条件设置窗口如下:    经过上面的设置,现在我们就可以使用“约束条件”了,使用很简单,只需在需要展示数据的地方通过框架提供的服务接口即可。下面我们以“产品管理”来演示约束条件权限。

     在“产品管理”主界面的FormOnLoad事件代码中调用以下接口即可得到用户的约束条件:

1、RDIFrameworkService.Instance.TableColumnsService.GetConstraint(this.UserInfo, PiUserTable.TableName, this.UserInfo.Id, ProductInfoTable.TableName); //按表约束条件获得数据(按当前用户)。
2、RDIFrameworkService.Instance.TableColumnsService.GetUserConstraint(this.UserInfo, ProductInfoTable.TableName); //按表约束条件获得数据(得到用户与角色的约束条件)。

   完整代码如下:  

//userConstraintExpress = RDIFrameworkService.Instance.TableColumnsService.GetConstraint(this.UserInfo, PiUserTable.TableName, this.UserInfo.Id, ProductInfoTable.TableName); //按表约束条件获得数据(按当前用户)。
userConstraintExpress = RDIFrameworkService.Instance.TableColumnsService.GetUserConstraint(this.UserInfo, ProductInfoTable.TableName); //按表约束条件获得数据(得到用户与角色的约束条件)。
 
var recordCount = 0;
if (!string.IsNullOrEmpty(userConstraintExpress))
{
    if (!string.IsNullOrEmpty(this.searchValue))
    {
        this.searchValue += " AND " + userConstraintExpress;
    }
    else
    {
        this.searchValue = userConstraintExpress;
    }
}
this.DTProductInfo = GetData(out recordCount, ucPager.PageIndex, ucPager.PageSize, this.searchValue);
ucPager.RecordCount = recordCount;
ucPager.InitPageInfo();   

     在上图中我们对用户”yonghu”设置了约束条件,现在我们以“yonghu”登录系统看下他能看到的数据:  

  我们对用户“yonghu”设置的约束条件是单价大于10000,在上图中,可以看到系统已经自动过滤了数据共143条数据。我们再以超级管理员用户登录进来看下,如下图所示:   以超级管理员登录的数据是8971条。

      以上只是一个简单的实例展示,还可以更加灵活的应用到其他各个实用的场合。

作者: EricHu
出处: http://www.cnblogs.com/huyong
Email: 406590790@qq.com
QQ:406590790
平台博客: 
      http://blog.csdn.net/chinahuyong
      http://www.cnblogs.com/huyong
关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。
如有问题或建议,请多多赐教!
本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。

 

 

1
2
分享到:
评论

相关推荐

    rdiframework.net代码生成器 v5.1版本

    RDIFramework.NET代码生成器集代码生成、各数据库对象文档生成、数据库常用管理于一身,是软件开发者快速开发的神器。代码的生成支持基于数据库与PowerDesign设计文件生成,为企业及个人开发者能快速生成常用代码与...

    .NET敏捷开发框架-RDIFramework.NET V5.1全新测试版本

    使用RDIFramework.NET敏捷开发框架能提高管理类软件系统的整体质量、提高模块与模块之间的兼容性、提高代码的重复利用率,使软件系统架构更加合理、质量更加过硬,使得劳动成果最大程度上重复利用。 框架基础模块...

    rdiframework.net 敏捷开发框架 V5.1打包文档资料

    使用RDIFramework.NET敏捷开发框架能提高管理类软件系统的整体质量、提高模块与模块之间的兼容性、提高代码的重复利用率,使软件系统架构更加合理、质量更加过硬,使得劳动成果最大程度上重复利用。 框架基础模块...

    RDIFramework.NET --V3.0.zip

    RDIFramework.NET敏捷开发框架,基于.NET的快速信息化系统开发、整合框架,给用户和开发者最佳的.NET框架部署方案。 界面精致美观,功能强大,支持Web、WinForm,兼容所有浏览器。

    RDIFramework.NET V3.0 WinForm辅助类帮助文件.chm

    RDIFramework.NET V3.0 WinForm辅助类帮助文件,为c#winform窗体应用开发提供帮助。RDIFramework.NET,基于.NET的快速信息化系统开发、整合框架,为企业或个人在.NET环境下快速开发系统提供了强大的支持,开发人员不...

    基于树的权限管理-winform版

    【基于树的权限管理-Winform版】是一种在Windows应用程序中实现权限控制的常见方式,尤其在C#开发中。此项目可能包含一个基于Winform界面的用户权限管理系统,利用了树形控件来直观地展示和管理用户角色及权限。在...

    C#-netcore5.0-winform-windows10-免注册调用大漠插件.7z

    在.NET Core 5.0框架下,开发Windows应用程序时,我们常常会遇到需要与外部库进行交互的需求。在这个场景中,"大漠插件"是一个常见的图像处理和OCR(光学字符识别)工具,广泛用于自动化测试、数据分析等领域。标题...

    .Net基础视频教程之11-Winform应用程序-1.zip

    【.Net基础视频教程之11-Winform应用程序-1.zip】是一个面向初学者的.NET框架基础知识教学资源,主要聚焦于Windows Forms(Winform)应用程序的开发。Winform是.NET Framework中用于构建桌面应用的重要组件,它提供...

    .net-winform客户端调用浏览器打开网页源码

    在.NET框架中,WinForm应用程序是一种常见的桌面应用开发方式,它使用Windows API和.NET库来构建用户界面。本文将深入探讨如何在WinForm客户端中调用浏览器打开网页源码,以及这种技术的多种用途。 首先,我们要...

    .Net基础视频教程之11-Winform应用程序-2.zip

    《.Net基础视频教程之11-Winform应用程序-2》是一个深入学习.NET框架下的Windows桌面应用开发的资源。本教程聚焦于Winform技术,它是.NET Framework用于构建图形用户界面(GUI)的重要工具,尤其适用于创建桌面应用...

    聊天工具系统--WinForm

    【聊天工具系统--WinForm】是一个基于Windows Forms技术开发的桌面应用程序,主要用于实现用户之间的实时通讯功能。Windows Forms是.NET框架的一部分,它提供了一个丰富的用户界面(UI)开发环境,可以构建具有各种...

    WMS仓库管理系统-winform

    综上所述,"WMS仓库管理系统-winform"是一个基于C#和Winform的高效仓库管理解决方案,借助Dev2018.1控件提升了用户体验,而SQL Server的使用则确保了数据的稳定性和安全性。这样的系统对于提升企业的仓储管理水平、...

    c# winform实例大全(198个经典Csharp WinForm实例源码)

    C# WinForm是.NET框架中的一个重要组成部分,它提供了丰富的用户界面开发工具,使得开发者可以构建出功能强大、界面友好的桌面应用程序。这份“C# WinForm实例大全”包含了198个经典实例,覆盖了从基础控件操作到...

    VS-WinForm界面美化皮肤安装程序

    Windows Forms(WinForm)是.NET Framework中的一个组件,用于创建桌面应用程序,而这款皮肤安装程序则提供了一系列预设的、专业的外观样式,帮助开发者快速改变应用的外观,使其看起来更加现代和吸引人。...

    .net-winform通讯聊天项目

    在.NET框架下,WinForm是一个强大的窗口应用程序开发平台,它提供了丰富的用户界面元素和便捷的编程模型。本项目以“.NET WinForm通讯聊天项目”为主题,旨在介绍如何利用WinForm结合Socket通信技术,构建一个完整的...

    dev-winform框架源码

    "dev-winform框架源码"是一个专为C#和.NET开发者设计的快速开发框架,尤其适合初学者作为学习和实践的资源。这个框架基于DevExpress 13.1版本,一个强大的Windows Forms控件库,提供了丰富的UI组件和功能,使得...

    C# WinForm角色的权限菜单-源码.zip

    在IT领域,尤其是在开发企业级应用时,权限管理和角色控制是至关重要的部分。"C# WinForm角色的权限菜单-源码.zip"提供了一个实现基于角色的权限菜单功能的完整解决方案,适合那些需要在Windows桌面应用程序中进行...

    S2ACCP复习-WinForm

    【知识点详解】 1. ADO.NET 数据传输:ADO.NET 使用 XML 格式在应用程序和数据库之间传输数据,因此选项A(xml)是正确的。...这些知识点是.NET开发中WinForm应用的基础,对于理解和创建交互式桌面应用程序至关重要。

    ibatis.net winform搭建带数据库

    标题 "ibatis.net winform搭建带数据库" 描述了一个使用iBATIS.NET框架在Windows Forms(WinForm)应用程序中构建数据库交互的过程。iBATIS.NET是.NET平台上的一个持久层框架,它允许开发者将SQL语句与应用程序代码...

    winform 嵌套chrome浏览器,.net开发谷歌内核浏览器。

    本文将详细介绍如何使用C#语言和WinForm控件配合Xilium.CefGlue库来实现这一目标。 Xilium.CefGlue是一个开源项目,它为.NET提供了与Chromium Embedded Framework (CEF)的接口。CEF是一个轻量级的浏览器引擎,它...

Global site tag (gtag.js) - Google Analytics