中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

RDIFramework.NET開發實例━表約束條件權限的使用-WinForm

發布時間:2020-07-01 10:40:59 來源:網絡 閱讀:482 作者:yonghu86 欄目:編程語言

RDIFramework.NET開發實例━表約束條件權限的使用-WinForm        

      在實際的應用中,客戶常有這樣的需求,指定用戶或角色可以看指定條件下的數據,這里的“指定條件”在RDIFramework.NET框架中,我們稱作為“用戶或角色的約束條件表達式”。要完成這樣的功能,可以通過RDIFramework.NET框架中的用戶或角色的“約束條件權限設置”功能即可完成,再在你的業務表單中調用我們的得到用戶或角色的約束條件表達式接口即可完成。

       可以調用框架提供的下面幾個接口即可完成對用戶或角色約束條件的得到。

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

  下面我們以實例進行展示約束條件權限的設置,可供用戶參考。

      要使用“約束條件權限”首先需要在用戶權限或角色權限中設置用戶或角色的“約束條件”表達式。用戶的“約束條件權限設置”如下圖所示:  RDIFramework.NET開發實例━表約束條件權限的使用-WinForm

  在“系統管理”→“用戶權限管理”→“權限設置”→“約束條件權限設置”,即可打開上面的窗口。在“表約束條件”設置窗口,可以選擇我們需要設置表的約束條件,點擊“設置條件表達式”即可設置。如下圖所示:  RDIFramework.NET開發實例━表約束條件權限的使用-WinForm

      在上圖中,我們可以對設置的約束條件表達式進行驗證是否正確,可以還可以查看約束表達式所展示的數據集等操作,“查看約束數據集”如下圖所示:  RDIFramework.NET開發實例━表約束條件權限的使用-WinForm

  “角色約束條件的設置”與“用戶約束條件設置”類似,可參考上面的“用戶約束條件設置”,角色約束條件設置窗口如下:  RDIFramework.NET開發實例━表約束條件權限的使用-WinForm   經過上面的設置,現在我們就可以使用“約束條件”了,使用很簡單,只需在需要展示數據的地方通過框架提供的服務接口即可。下面我們以“產品管理”來演示約束條件權限。

       在“產品管理”主界面的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”登錄系統看下他能看到的數據:  RDIFramework.NET開發實例━表約束條件權限的使用-WinForm

  我們對用戶“yonghu”設置的約束條件是單價大于10000,在上圖中,可以看到系統已經自動過濾了數據共143條數據。我們再以超級管理員用戶登錄進來看下,如下圖所示:  RDIFramework.NET開發實例━表約束條件權限的使用-WinForm  以超級管理員登錄的數據是8971條。

      以上只是一個簡單的實例展示,還可以更加靈活的應用到其他各個實用的場合。

作者: EricHu
出處: http://www.cnblogs.com/huyong
Email: 406590790@qq.com
QQ 交流:406590790
QQ群:237326100
平臺博客: 【CSDN】http://blog.csdn.net/chinahuyong
         【CNBLOGS】http://www.cnblogs.com/huyong
關于作者:高級工程師、信息系統項目管理師、DBA。專注于微軟平臺項目架構、管理和企業解決方案,多年項目開發與管理經驗,曾多次組織并開發多個大型項目,精通DotNet,DB(SqlServer、Oracle等)技術。熟悉Java、Delhpi及Linux操作系統,有扎實的網絡知識。在面向對象、面向服務以及數據庫領域有一定的造詣。現從事DB管理與開發、WinForm、WCF、WebService、網頁數據抓取以及ASP.NET等項目管理、開發、架構等工作。
如有問題或建議,請多多賜教!
本文版權歸作者和CNBLOGS博客共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過郵箱或QQ 聯系我,非常感謝。

RDIFramework.NET開發實例━表約束條件權限的使用-WinForm

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

资源县| 白水县| 临西县| 东城区| 宝应县| 保靖县| 阿拉善左旗| 安丘市| 洛阳市| 北票市| 喜德县| 桑植县| 抚州市| 凤翔县| 怀远县| 牟定县| 连山| 梅州市| 房产| 凤阳县| 平南县| 宝鸡市| 巴里| 将乐县| 黄平县| 南木林县| 棋牌| 延吉市| 福建省| 沅陵县| 莲花县| 平湖市| 孟州市| 拜泉县| 镇坪县| 南漳县| 昌黎县| 英吉沙县| 江永县| 通化县| 文昌市|