獨自等待
          那曾經從自己身邊溜走的人……
          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

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


          網站導航:
           
          主站蜘蛛池模板: 新巴尔虎左旗| 横山县| 石城县| 和平区| 吉木萨尔县| 正安县| 淄博市| 扬中市| 仁怀市| 靖远县| 从化市| 平罗县| 新田县| 平利县| 营山县| 邢台市| 依兰县| 依安县| 衡山县| 万源市| 安吉县| 滨州市| 遂溪县| 泗水县| 蒙城县| 延吉市| 丹阳市| 大理市| 汤阴县| 鄄城县| 谢通门县| 公安县| 安达市| 屏东县| 邵东县| 合水县| 辛集市| 海宁市| 桦川县| 托克托县| 会同县|