润乾报表 报表组使用api相关接口实现动态添加报表项

问题描述:
客户希望能动态增加报表组的报表项,实现在不同条件下对不同报表的一次性导出。

解决方法:
可以通过报表组的相关api接口实现报表组的动态编辑报表项
报表组编辑主要包括配置报表组中的报表源、设置报表组中的报表项、保存报表组、计算报表组中的报表。  

报表源可以理解为设计器下图的设置:

报表项可以理解为设计器下图的设置:


主要代码如下:
//新建一个子报表1

         SubReportConfig subReportConfig1=new SubReportConfig();   
         subReportConfig1.setName("report3");   //设子报表逻辑名
         subReportConfig1.setURLType(SubReportConfig.TYPE_RELATIVE);  //设置子报表的url类型,值为“TYPE_RELATIVE”表示相对路径,值为 “TYPE_ABSOLUTE”表示绝对路径,值为 “TYPE_URL”表示为路径为URL,值为 “TYPE_CUSTOM”表示为自定义路径
         subReportConfig1.setURL("cc.rpx");   //设置子报表的url


         SubReportMetaData srm = rg.getReportMetaData(); //定义报表组的元数据信息对象
         srm.addSubReportConfig(subReportConfig1);//增加一个子报表配置信息对象
         rg.setReportMetaData(srm);

       //配置报表项

         ReportGroupItem reportGroupItem1 = new ReportGroupItem();   //新建一个报表项1

         reportGroupItem1.setTitle("sheet3");     //设置报表sheet名称

         reportGroupItem1.setHtmlId("item3");          //设置逻辑名称

         reportGroupItem1.setName("report3"); //设置对应的报表源,在SubReportMetaData中增加了报表源,报表源的逻辑名为:report3

         rg.addItem(reportGroupItem1);    //把报表项添加到报表组中

//保存报表组


          ReportGroup.write("d:/test1.rpg", rg);

                 
                 //报表组计算引擎
             GroupEngine groupEngine = new GroupEngine(rg,cxt); 
               //导出类设置
             IdeReportExporter re1 = new IdeReportExporter("D:/test.pdf",(byte) (ReportExporter.EXPORT_PDF),null);
                 
             re1.exportReportGroup(groupEngine);

猜你喜欢

转载自blog.csdn.net/xiaohuihui_1992/article/details/78766364
今日推荐