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

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

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

    隨筆 - 225  文章 - 98  trackbacks - 0
    <2011年11月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    隨筆分類

    相冊

    報表工具廠商們

    搜索

    •  

    最新評論

    閱讀排行榜

    問題:實際應用環境中,不同角色的人可能對數據具有不同的訪問權限,通過直接在SQL語句中篩選出需要的數據制作模板可以解決該需求,但對于角色較多的情況,就需要制作很多張樣式相同只是數據集不同的報表,不利于后期的維護并且加大了報表制作的工作量。

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

     

    第一步:數據準備

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

    表:datas

    ID

    DATA

    ROLE

    1

    100

    0

    2

    200

    0

    3

    300

    0

    4

    400

    1

    5

    500

    1

    6

    600

    2

    7

    700

    2

    8

    800

    3

     

    ID:編號

    DATA:數據

    ROLE:可查看角色編碼

     

    表:roles

    ID

    ROLENANME

    ROLE

    1

    總裁

    0

    2

    總經理

    1

    3

    部門經理

    2

    4

    銷售人員

    3

    ID:編號

    ROLENAME:角色名稱

    ROLE:角色編碼

     

    第二步:制作模板

    2.1 新建一張模板,報表數據集中新建一個“數據庫查詢數據集”,名稱為:datasSQL語句寫成“select * from datas where ROLE>=[?ROLE?]

    2.2 拖拽新建的報表數據集datas的數據列至報表中,如下圖所示:

    http://www.finereport.com/forumimages/tgqxkzsjfw1.jpg

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

    數據字典的名稱為:roles_map

    http://www.finereport.com/forumimages/tgqxkzsjfw2.jpg

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

    http://www.finereport.com/forumimages/tgqxkzsjfw3.jpg

    2.5 保存模板文件即可。

    2.6 用戶在集成應用的時候,需要在系統登錄后設置當前登錄的用戶的角色,或者使用FineReport自帶的權限管理系統。如果采用FineReport自帶的權限管理系統,上述SQL語句中的ROLE參數可使用FR_ROLE_NAME來替代,該參數是FineReport權限系統中的默認登錄角色參數名。具體登錄角色設置方式請參見FineReport權限集成幫助文檔或咨詢FineReport服務人員。
    文章轉自:http://blog.vsharing.com/fanfanzheng/A1448107.html



    了解Java報表工具就從這里開始
    posted on 2011-11-21 10:49 season 閱讀(270) 評論(0)  編輯  收藏 所屬分類: Java報表—技術知識
    主站蜘蛛池模板: 歪歪漫画在线观看官网免费阅读| 亚洲第一视频在线观看免费| 3d动漫精品啪啪一区二区免费| 中文字幕久久亚洲一区| 四虎影视永久在线精品免费| 亚洲 综合 国产 欧洲 丝袜 | 亚洲A∨精品一区二区三区| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 中文字幕免费不卡二区| 欧洲亚洲国产清在高| 国产免费阿v精品视频网址| 久久综合亚洲色HEZYO社区| 日本免费一区二区在线观看| 456亚洲人成影院在线观| 嫩草视频在线免费观看| 黄人成a动漫片免费网站| 亚洲一区二区三区影院| a级毛片在线免费| 亚洲AV福利天堂一区二区三| 亚洲三级在线免费观看| 亚洲日本乱码卡2卡3卡新区| 国产小视频免费观看| 中文字幕视频免费在线观看| 久久精品国产亚洲77777| 最近中文字幕免费mv视频7| 特级毛片在线大全免费播放| 亚洲精品制服丝袜四区| 久久九九兔免费精品6| 国产亚洲精品免费| 亚洲成av人影院| 好先生在线观看免费播放| 免费毛片毛片网址| 亚洲精品综合久久中文字幕| 国产精品深夜福利免费观看| 中文在线观看国语高清免费| 91亚洲国产成人久久精品| 亚洲AⅤ视频一区二区三区| 国产高清不卡免费在线| 免费激情网站国产高清第一页| 亚洲色欲或者高潮影院| 亚洲AV无码一区二三区|