<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java軟件報表軟件技術博客

    java報表軟件技術匯總 java報表軟件制作 報表軟件新聞
    posts - 355, comments - 100, trackbacks - 0, articles - 3
       :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理
    問題:實際應用環境中,不同角色的人可能對數據具有不同的訪問權限,通過直接在SQL語句中篩選出需要的數據制作模板可以解決該需求,但對于角色較多的情況,就需要制作很多張樣式相同只是數據集不同的報表,不利于后期的維護并且加大了報表制作的工作量。

    方案:
    針對該問題,在FineReport報表中,可以利用SQL參數配合參數處理器再結合權限以完成該需求。使用該方案只需要制作一張表樣,利用SQL中的參數進行動態過濾達到該目的。下面具體描述該方案的實施過程。

    第一步:數據準備

    這里使用的是DEMO數據,主要為了演示該方案的操作,具體使用的時候需要根據具體的數據情況進行調整:

    表:datas

    ID:編號
    DATA:數據
    ROLE:可查看角色編碼


    表:roles

    ID:編號
    ROLENAME:角色名稱
    ROLE:角色編碼

    第二步:制作模板

    2.1 新建一張模板,報表數據集中新建一個“數據庫查詢數據集”,名稱為:datas,SQL語句寫成“select * from datas where ROLE>=[?ROLE?]”
    2.2 拖拽新建的報表數據集datas的數據列至報表中,如下圖所示:



    2.3 新建一個服務器數據字典,用于進行角色名稱與角色編碼的轉換,因為這里是演示用,就直接將數據寫死了,使用自定義的服務器數據字典,用戶可以根據具體的情況使用數據庫查詢數據字典來定義,關鍵點是要將“角色名”設置為key,“角色編碼”設置為value。因為在應用的過程中,一個用戶的角色是通過角色名來定義的,而對數據的訪問控制是通過角色編碼來控制的,這里需要一個值轉換的過程。如果角色名與角色編碼一致則可以不經過下列步驟的設置。數據字典的名稱為:roles_map
     


    2.4 設置參數處理器,選擇菜單中的“報表”-“參數處理器”,定義先前SQL語句中定義的參數“ROLE”的參數處理器,這里采用公式類型,用于將角色名處理為角色編碼,公式為:“MAP($ROLE,”roles_map”)”如下圖所示:

     

    2.5 保存模板文件即可。

    2.6 用戶在集成應用的時候,需要在系統登錄后設置當前登錄的用戶的角色,或者使用FineReport報表自帶的權限管理系統。如果采用FineReport報表自帶的權限管理系統,上述SQL語句中的ROLE參數可使用FR_ROLE_NAME來替代,該參數是FineReport報表權限系統中的默認登錄角色參數名。
     
    具體在FineReport報表的幫助文檔有詳細說明。

    主站蜘蛛池模板: 日韩精品无码免费专区午夜 | 国产区图片区小说区亚洲区| 亚洲一级毛片免费看| 91亚洲精品视频| 在线看片免费人成视久网| 亚洲国产成人久久综合一 | 亚洲人成影院在线| 97在线视频免费播放| 亚洲国产精品网站久久| 免费H网站在线观看的| 亚洲成人黄色在线观看| 精品久久久久成人码免费动漫| 亚洲三级在线播放| 成人免费视频网址| 天天综合亚洲色在线精品| 青青青国产色视频在线观看国产亚洲欧洲国产综合| 亚洲国产乱码最新视频| 国产高清在线免费视频| 亚洲免费无码在线| 亚洲日韩图片专区第1页| 国产精品永久免费10000| 亚洲精品伦理熟女国产一区二区| 国产免费直播在线观看视频| CAOPORN国产精品免费视频| 亚洲av无码国产精品色午夜字幕| 精品熟女少妇av免费久久| 亚洲国产精品成人AV在线| 亚洲精品成a人在线观看| 久久成人a毛片免费观看网站| 亚洲六月丁香六月婷婷色伊人 | 久久精品亚洲日本波多野结衣| 亚洲精品色婷婷在线影院| 免费无码又爽又刺激网站直播| 亚洲视频小说图片| 国产一级高清视频免费看| 国产免费一区二区三区不卡| 亚洲伊人久久大香线蕉在观| 亚洲不卡无码av中文字幕| 先锋影音资源片午夜在线观看视频免费播放 | 日本高清免费网站| 精品成人免费自拍视频|