独自等待
那曾经从自己身边溜走的人……
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 自由 阅读(822) 评论(0)  编辑  收藏 所属分类: Birt

只有注册用户登录后才能发表评论。


网站导航: