隨筆 - 59, 文章 - 4, 評論 - 184, 引用 - 7
          數據加載中……

          [BIRT]-[Tutorial]-使用ScriptDataSet從POJO中獲得數據(四)

          開始說正題

          二、建立使用ScriptDataSourceScripteDataSetBIRT報表

          在你的Web項目中建立一個report目錄,并在其中建立一個報表文件,如下:

          o_Snap1.jpg

          首先,根據BIRTHelp文檔中的教程,建立一個ScriptDataSource

          o_Snap2.jpg
          然后建立
          ScriptDataSet

          o_Snap3.jpg

          然后鼠標右擊建立的DataSet,選擇編輯,在左邊選擇‘輸出列’,為其添加三個輸出列,類型為‘任何’,建立后DataSet如下:

          o_Snap4.jpg

          三、編寫ScriptDataSet方法

          ScriptDataSet的主要方法有三個:openfetchclose

          打開rptdesign文件,用鼠標點擊srcDataSet,并在報表文件窗口下方選擇‘代碼’,就可以看到這些方法,這些是一些類javaScript的代碼,并提供了一些BIRT自己的函數,下面說明這三個方法:

          l         Open方法:

          Open方法用于引入java包,并創建數據庫訪問資源

          寫入如下代碼:

          (其中in_sys_user是數據庫中的表)

          o_Snap5.jpg
          l         fetch方法:

          fetch方法用于取得數據并為報表復制

          代碼如下:
          o_Snap6.jpg

          l         close方法:

          close方法用于關閉資源

          代碼如下:
          o_Snap7.jpg

           

           

           

           

          posted @ 2005-09-06 13:44 fisher 閱讀(2204) | 評論 (0)編輯 收藏

          [BIRT]-[Tutorial]-使用ScriptDataSet從POJO中獲得數據(三)

          RowSet.java代表行的集合,代碼如下:

           1package com.bat.afp.DAOComm;
           2
           3import java.util.Iterator;
           4import java.util.Vector;
           5
           6/**
           7 * @author liuyf
           8 */

           9public class RowSet {
          10
          11    private Vector<Row>    vector    = new Vector<Row>();
          12
          13    public RowSet() {
          14    }

          15
          16    public void add(Row row) {
          17        vector.addElement(row);
          18    }

          19
          20    public int length() {
          21        return vector.size();
          22    }

          23
          24    public Row get(int which) {
          25        return (Row) vector.elementAt(which);
          26    }

          27    
          28    public Iterator getIterator(){
          29        return vector.iterator();
          30    }

          31
          32    public void dump() {
          33        Iterator<Row> itr = vector.iterator();
          34        for (;itr.hasNext();) {
          35            itr.next().dump();
          36        }

          37    }

          38}

          39

          Row.java代表數據庫中的一行數據,代碼如下:

           1package com.bat.afp.DAOComm;
           2
           3import java.util.Hashtable;
           4import java.util.Iterator;
           5import java.util.Vector;
           6
           7/**
           8 * @author liuyf
           9 */

          10public class Row {
          11
          12    private Vector<String>                ordering    = new Vector<String>();
          13
          14    private Hashtable<String, String>    hashtable    = new Hashtable<String, String>();
          15
          16    public Row() {
          17    }

          18
          19    public void put(String name, String value) {
          20        if (!hashtable.containsKey(name))
          21            ordering.addElement(name);
          22        hashtable.put(name, value);
          23    }

          24
          25    public int length() {
          26        return hashtable.size();
          27    }

          28
          29    public String get(String name) {
          30        if(hashtable.get(name)!=null){
          31            return hashtable.get(name);
          32        }
          else if(hashtable.get(name.toLowerCase())!=null){
          33            return hashtable.get(name.toLowerCase());
          34        }
          else if(hashtable.get(name.toUpperCase())!=null){
          35            return hashtable.get(name.toUpperCase());
          36        }

          37        
          38        return null;
          39    }

          40
          41    public String get(int which) {
          42        String key = ordering.elementAt(which-1);
          43        return hashtable.get(key);
          44    }

          45
          46    public String getKey(int which) {
          47        String key = ordering.elementAt(which-1);
          48        return key;
          49    }

          50
          51    public void dump() {
          52        Iterator<String> itr = hashtable.keySet().iterator();
          53        for (; itr.hasNext();) {
          54            String name = itr.next();
          55            String value = hashtable.get(name);
          56            System.out.print(name + "=" + value + "");
          57        }

          58    }

          59}

          60

          posted @ 2005-09-06 13:33 fisher 閱讀(1827) | 評論 (0)編輯 收藏

          [BIRT]-[Tutorial]-使用ScriptDataSet從POJO中獲得數據(二)

               摘要: 配置文件dbconfig.xml如下: 1<config>2    <dbinfo>3        <url>jdbc:oracle:thin:@133.1.72.44:1521:test</url>4  ...  閱讀全文

          posted @ 2005-09-06 13:30 fisher 閱讀(1919) | 評論 (0)編輯 收藏

          [BIRT]-[Tutorial]-使用ScriptDataSet從POJO中獲得數據(一)

               摘要: 在前面說明過使用Script數據源來獲得web service數據源的做法,在實際操作中,發現雖然有BIRT的幫助文件,但同事對BIRT的Script數據源的使用還是不太理解,于是寫出下文以便幫助使用BIRT的高級特性   熟悉了BIRT的Script數據源之后,你會感嘆BIRT功能之強大,BIRT團隊承諾在2.0中加入對數據庫連接池的支持,但目前為止,我們還只能通過Script數據...  閱讀全文

          posted @ 2005-09-06 13:26 fisher 閱讀(6935) | 評論 (7)編輯 收藏

          [BIRT]-如何使用web service作為數據源

          今天跟好友在網上聊天,被問到如何使用web serivce作為數據源來制作BIRT報表,BIRT的例子里都是基于數據庫表來構建報表的,所以產生了這個疑問,本想寫一篇step by step的文章來詳細介紹一下,可是最近實在太忙了,只好在這里介紹一下思路。

          這個問題,可以使用ScriptDataSource和ScripteDataSet來解決,ScripteDataSource后臺基于java bean,可以在bean里連接自己的數據源,無論是用web service還是用socket取數據源都應該沒什么問題,另外還可以為BIRT報表提供數據庫連接池,因為本來的報表設計文件是自己去連數據庫的,所以難免會比較慢

          另外一個問題是基于屬性拖拽的問題,這個問題我沒有具體試驗過ScriptDataSet中的屬性拖拽是否可用,但我想既然基于表的可以,基于Bean的對于BIRT的開發組來說也沒什么難度,畢竟屬性都已經綁定到DataSet里了,拖拽一下又有何妨

          posted @ 2005-08-27 10:41 fisher 閱讀(2063) | 評論 (1)編輯 收藏

          僅列出標題
          共12頁: First 上一頁 4 5 6 7 8 9 10 11 12 下一頁 
          主站蜘蛛池模板: 莱芜市| 长宁区| 阳东县| 京山县| 余干县| 大悟县| 牡丹江市| 兴业县| 旬阳县| 乃东县| 鄄城县| 樟树市| 涡阳县| 高阳县| 波密县| 缙云县| 雅安市| 泉州市| 新竹县| 海丰县| 哈密市| 阳江市| 任丘市| 两当县| 兴城市| 长汀县| 盈江县| 兰坪| 新野县| 桑日县| 新和县| 满洲里市| 玉山县| 封开县| 雷州市| 长垣县| 花垣县| 吉水县| 遵化市| 太仆寺旗| 轮台县|