紫羅蘭

          --愛的天空

          常用鏈接

          統計

          最新評論

          iReport-1.2.8使用的幫助文檔(第一部分)

          iReport 幫助文檔

          第一部分 功能介紹:

          1.????? 報表結構

          ? 一個報表的結構大致是幾個部分:

          title 、 pageHeader columnHeader 、 detial 、 columnFooter pageFooter 、 summary groupHeader 、 groupfooter

          ?

          · Title

          每個報表一般會有一個名字,比如×××銷售報表, title 就是擱置這個名稱的最好地方了,當然你也可以根據需要擱置在合適的地方。

          · pageHeader

          報表的一些公共要素,比如頁碼、創建時間、創建人等信息放置在這里是比較好的選擇。

          · columnHeader

          無可非議的這里是放置列的名稱,記住不是列數據。

          · Detial

          放置需要循環的數據,比如銷售記錄數據。

          · columnFooter

          放置列級別的統計計算值或是列的說明。

          · pageFooter

          放置頁級別的統計值或是頁的說明。

          · Summary

          可能需要對幾頁(你的報表可能有幾個頁組成)的統計值。比如 50 個銷售記錄共占用了 3 頁,那么放置這些統計記錄的統計值最好的地方就是 summary 。

          · groupHeader

          每個表的內容可能需要根據某個屬性進行劃分顯示內容和計算內容,比如希望以月份為單位每組分開顯示銷售記錄,那么就可以定義一個組(組的定義參考后文), groupHeader 就是放置組說明或是組標志最好的地方。

          · Groupfooter :放置組的統計或是說明

          ?

          2.????? iReport 的輸出格式

          iReport 的預覽輸出格式可以支持以下幾種:

          ?

          PDF HTML 、 CSV 、 JAVA2D Excel 、純文字、 JRViewer ,其中最常用的是 PDF JRViewer 。 JRViewer 是直接以 C/S 方式作為報表的輸出格式,在 JFrame 框架下輸出。 Jasperreport 提供默認的 JRViewer 輸出類。

          ?

          3.????? 報表的動態對象變量、參數、字段

          報表上主要的元素為靜態文本 (static text) 、變量 (variable) 、動態域 (Field) 、參數 (Parameter) 。靜態文本就是顯示在報表上不變的文字。變量是指通過系統自帶的計算得到的一些值(如當前頁、總記錄數等)。動態域可以是連接數據庫時所的的字段,也可以是通過自定義數據源 ( 可能是包含一組數據的實體類 ) 。參數是程序運行時傳到報表內部的變量,通常通過 Map 形式傳入,可作為顯示變量或者用于 sql 語句中變化的條件。 這些有關的內容,我們要介紹這些對象的使用和意義:

          ·字段( Fields ):是數據庫抽取出來的,希望在報表中出現的數據庫內容。比如一個 ID 的所有值。 $F{ filedsName } 表示字段,是報表中最重要的部分。如果 JDBC 方式的連接,輸入 sql 查詢語句就可得到所有查詢所得到的字段;如果是 Custom Datasource 方式,新建一字段,例如 user_id 。數據類中 getFieldValue(JRField field) field 就是報表中的 $F{Field_name} 。程序中根據 JRField 對象的 name 屬性來確定返回哪個值

          ?

          ?

          ·參數( Parameters ):這是你的應用需要提供給報表的入口,比如你希望在報表被解釋的時候提供 Where 語句的條件值,那么就可以使用參數( Parameters )。 $P{ parameterName }

          代表參數, {} 內是參數的名稱,在報表中設定后,在運行的時候通過從外部傳入的參數來動態生成標題等數據,并且可以作為查詢條件傳入 sql 語句使用 ( 如果是使用 JDBC 直接連接數據庫的話 )

          ?

          ·變量( Variables ):這是報表中一些邏輯運算的表現,比如統計值。 $V{ variablesName }

          ?

          每種對象的定義格式如每個對象的后面說明,比如定義一個變量( Variables ),那么表達式就寫成 $V{ variablesName } ,報表中出現的就是這個變量的名稱。后文會詳細的介紹使用方法。

          $V{PAGE_NUMBER} 代表當前頁數, $V 代表 variable ,對現有的 group , $V{groupname_COUNT} 代表當前組的記錄數

          // 代表返回當前行的第四個字段

          if("user_id".equals(field.getName()))return data[index][3]

          ?

          4.????? 編譯、靜態運行、動態運行

          Jasperreport 運行時需要的就是一個 jasper 后綴的文件,編譯過程其實就是把 jrxml 后綴的文件生成 jasper 后綴的文件。(可以參考 Jasperreport 的運行原理)

          ?

          靜態運行和動態運行是相對的,后者帶數據源運行,比如帶數據庫運行。前者就是靜態文本運行,和數據源無關,如果報表中出現和數據源有關的對象,則以 null 顯示。

          5.????? ? 幾種 Datasource 的方法

          a)????? JDBC 連接數據庫。新建一個連接,選擇類型為 Database JDBC connection ,給這個連接一個名字,填寫 driver ,數據庫連接的 url ,數據庫用戶名密碼等信息后,測試通過即可建立連接。

          ?

          b)????? Customer JRDatasource 取得數據。首先寫一個包含數據的類,它實現了 JRDatasource 接口,實現 next() getFieldValue(JRFeild field) 兩個方法。 Next 方法用于取得下一條記錄, getFieldValue 方法則根據 jasper 文件中定義的 field 的名稱來取得對應列的數據。另外,為了在 ireport 中能預覽效果,我們還需要構造取得該數據源類的方法,通常命名為 XXXDatasourceFactory 類,它提供了 getTheDatasource 類取得數據源類這個對象。在連接時,填上工廠類和取得數據源類的對應方法后即可得到數據。

          ?

          然后在菜單上的 build->set active connection 選擇連接,在 datasource->report query 里輸入 sql 語句或 javabean 方式得到數據域。得到的數據域按名存放在 Fields 里,可拖拽到頁面報表上。

          ?

          posted on 2007-02-06 18:06 violet 閱讀(1074) 評論(1)  編輯  收藏

          評論

          # re: iReport-1.2.8使用的幫助文檔(第一部分) 2007-03-09 12:18 koko

          有沒有用過 自定義數據源 的例子,我的郵箱 wangshitaokc@126.com
          多謝!  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 建湖县| 通山县| 四子王旗| 青川县| 沽源县| 西乌| 阳春市| 班玛县| 鄄城县| 寻乌县| 夏津县| 宿州市| 云和县| 抚顺县| 常山县| 呼和浩特市| 江津市| 武义县| 津南区| 遂宁市| 方正县| 南雄市| 赣榆县| 合川市| 无锡市| 新兴县| 伽师县| 崇明县| 佛冈县| 镇巴县| 蚌埠市| 佛山市| 广安市| 南木林县| 海城市| 沁源县| 河西区| 彰化县| 鸡东县| 尼勒克县| 特克斯县|