獨自等待
          那曾經從自己身邊溜走的人……
          posts - 0,comments - 3,trackbacks - 0

          前一段時間因項目原因,需要用BIRT做報表,報表數據源采用XML文件(后因XML中數據關系較復雜,BIRT處理XML數據效率極差,改用Apache Derby),因在運行態下,報表需要動態變更數據源,在網上也找了不少的帖子,都沒有十分準確的解決方案,后來還是決定自己找方案,后來解決的方法也相當簡單,貼出代碼一看就明白了:

          IReportEngine engine = null;
          EngineConfig config 
          = null;
          try {
            config 
          = new EngineConfig();
            Platform.startup(config);
            IReportEngineFactory factory 
          = (IReportEngineFactory) Platform
                          .createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
            engine 
          = factory.createReportEngine(config);
            IReportRunnable design 
          = null;
            
          //打開報表
            design = engine.openReportDesign("c:\\report.rptdesign");
            ReportDesignHandle designHandel 
          = (ReportDesignHandle) design.getDesignHandle();
            DataSourceHandle ds 
          = designHandel.findDataSource("DATA SOURCE");                //參數為報表中定義的數據源名稱
            if(ds!=null)
              ds.setProperty(
          "FILELIST""c:\\datasource.xml");  //綁定xml數據源

             
          }catch (Exception ex) {
             ex.printStackTrace();
            }finally {
             //Platform.shutdown();
            }..
            
          posted on 2009-01-12 16:18 自由 閱讀(833) 評論(0)  編輯  收藏 所屬分類: Birt

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


          網站導航:
           
          主站蜘蛛池模板: 墨玉县| 乌拉特后旗| 宁乡县| 宝应县| 河间市| 贵南县| 黑山县| 石阡县| 绥化市| 茂名市| 五华县| 开阳县| 中宁县| 建瓯市| 郎溪县| 彭泽县| 明溪县| 应用必备| 沧州市| 陵水| 溆浦县| 新乡市| 丰台区| 修文县| 平湖市| 会理县| 平度市| 大同县| 武穴市| 澜沧| 安仁县| 贵德县| 武平县| 都匀市| 丰原市| 晋城| 宁安市| 绥棱县| 上虞市| 江口县| 拜城县|