Eclipse RCP入门(八)BIRT报表的分页和生成中间document
在朋友的帮助下,实现了BIRT的分页。
而且把BIRT的生成报表的过程分成了两个过程,
先要生成一个中间的DOCUMENT
核心代码修改如下
IRunTask task = engine.createRunTask(design);
//以前是调用IRunRenderTask,现在改为先run ,再render所以这里的方法变了
// 加入数据
task.setParameterValue("sample", "Carl");
List list = new ArrayList();
User user1 = new User("1", "sillycat");
User user2 = new User("2", "kiko");
User user3 = new User("3", "lovemike");
User user4 = new User("4", "mike");
User user5 = new User("5", "carl");
User user6 = new User("6", "kyy");
list.add(user3);
list.add(user2);
list.add(user1);
list.add(user4);
list.add(user5);
list.add(user6);
BirtDataSourceObject birtDataSourceObject = new BirtDataSourceObject();
birtDataSourceObject.setResultList(list);
task.addScriptableJavaObject("dsFactory", birtDataSourceObject);
//先生成中间DOCUMENT,这个时候已经有数据了
task.run("D:/birt/test.rptdocument");
task.close();
// 生成document成功
IReportDocument reportDocument = null;
reportDocument = engine
.openReportDocument("D:/birt/test.rptdocument");
IRenderTask renderTask = engine.createRenderTask(reportDocument);
// HTML
IRenderOption htmlOptions;
htmlOptions = new HTMLRenderOption();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
htmlOptions.setOutputStream(bos);
htmlOptions.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_HTML);
renderTask.setRenderOption(htmlOptions);
renderTask.setPageNumber(1); //翻页的第一页
renderTask.render();
browser.setText(bos.toString());
// PDF
IRenderOption pdfOptions;
pdfOptions = new PDFRenderOption();
pdfOptions.setOutputFormat(PDFRenderOption.OUTPUT_FORMAT_PDF);
pdfOptions.setOutputFileName("D:/birt/test.pdf");
renderTask.setRenderOption(pdfOptions);
renderTask.setPageNumber(1);
renderTask.render();
// CSV
IRenderOption csvOptions;
csvOptions = new CSVRenderOption();
csvOptions.setOutputFileName("D:/birt/test.xls");
csvOptions.setOutputFormat(CSVRenderOption.OUTPUT_FORMAT_CSV);
renderTask.setRenderOption(csvOptions);
renderTask.setPageNumber(1);
renderTask.render();
// PPT
IRenderOption pptOptions;
pptOptions = new PPTRenderOption();
pptOptions.setOutputFileName("D:/birt/test.ppt");
pptOptions.setOutputFormat(PPTRenderOption.OUTPUT_FORMAT_PPT);
renderTask.setRenderOption(pptOptions);
renderTask.setPageNumber(1);
renderTask.render();
在test.rptdesign里面,选中table,在下面的properties里面有个
Page Break Interval的属性,就是分页的,设置多少个一页,就是平时的
page size
分享到:
相关推荐
fire bird常用sql语句 一、分页写法小例: 二、显示表名和表结构 三、使用ISQL连接数据库 四、更新字段注释 五、显示字段注释 六、更新表注释 七、查询所有的表和视图(包括系统表和系统视图) 八、查询所有的用户表...
鸽子 :bird: 介绍 Pigeon是一个SwiftUI和UIKit库,依赖于Combine处理异步数据。它在很大程度上受到启发。 简而言之 使用Pigeon,您可以: 获取服务器端API。 使用可互换和可配置的缓存提供程序缓存服务器响应。 在...
Eleventy的简单入门套件 Hylia是预先配置了的轻量级入门套件,因此您可以在几分钟之内一键... :speech_balloon: 注释 :light_bulb: 暗/亮模式切换 :speaking_head: Webmentions :open_book: 分页 :bird: 网络共享API集
一些桌面应用程序可能会将日志保存在其它位置,例如Thunderbird的崩溃报告保存在用户目录下的 ~/.thunderbird/CrashReports文件夹中。 接下来,我们将详细介绍几种常见的命令行工具,以帮助管理员查看和分析日志...
6. 性能优化:由于转换过程涉及到大量的DOM遍历和渲染,对于大型或复杂的HTML结构,可能需要考虑分页、延迟加载或服务端处理等优化策略。 总之,`jspdf`和`html2canvas`的组合为JavaScript环境下的HTML转PDF提供了...
注意 Bule_bird 就必须写成 BlueBird Brand 查询 实体类 PageResult 响应结果 分页结果一般至少需要两个数据 总条数 total 当前页数据 items 有些还需要总页数 总页数 totalPage Controller @...
Eleventy的简单入门工具包Hylia是预先配置了的轻型入门套件,因此您可以在几分钟内...:speech_balloon: 注释 :light_bulb: 暗/亮模式切换 :speaking_head: Webmentions :open_book: 分页 :bird: 网络共享API集成 :spir
Eleventy的简单入门套件 Hylia是预先配置了的轻量级入门套件,因此您可以在几分钟... :speech_balloon: 注释 :light_bulb: 暗/亮模式切换 :speaking_head: Webmentions :open_book: 分页 :bird: 网络共享API集成 :spir
Eleventy的简单入门工具包Hylia是预先配置了的轻量级入门套件,因此您可以在几分钟之内...:speech_balloon: 注释 :light_bulb: 暗/亮模式切换 :speaking_head: Webmentions :open_book: 分页 :bird: 网络共享API集成
Eleventy的简单入门工具包 Hylia是预先配置了的轻量级入门套件,因此您可以在几分钟之内... :speech_balloon: 注释 :light_bulb: 暗/亮模式切换 :speaking_head: Webmentions :open_book: 分页 :bird: 网络共享API集成
Eleventy的简单入门工具包 Hylia是预先配置了的轻量级入门工具包,因此您可以在几分钟之... :speech_balloon: 注释 :light_bulb: 暗/亮模式切换 :speaking_head: Webmentions :open_book: 分页 :bird: 网络共享API集成
Eleventy的简单入门工具包Hylia是预先配置了的轻量级入门工具包,因此您可以在...:speech_balloon: 注释 :light_bulb:暗/亮模式切换 :speaking_head: Webmentions :open_book:分页 :bird:网络共享API集成 :spiral_notep
我们创建了一个递归函数,将每个页面的结果包装在一个Promise中(使用Bluebird库)。 兑现承诺后,我们将遍历下一页,直到到达最后一页。 未来的改进 增加了单个用户创建多个列表的能力。 为用户添加了
- **分页**:在实现数据分页时,可以使用 `array_slice()` 获取当前页面的数据。 - **随机取样**:结合随机数,可以用来从数组中随机抽取一部分元素。 - **组合功能**:与其他数组函数如 `array_splice()` 结合使用...
你可能需要借助polyfills库(如es5-shim和es5-sham)以及Promise的polyfill(如bluebird)来确保代码在旧版IE中的正常运行。 最后,考虑到性能和用户体验,你可能需要实现一些优化策略,比如懒加载、分页预加载或者...
最后,通过运行和调试项目,确保所有功能正常工作,并尝试对其进行优化和扩展,例如添加用户身份验证、引入分页机制或改进数据验证规则。 总的来说,"jsp留言本.rar"是一个适合初学者实践的项目,它涵盖了Web开发中...
- 照片浏览:展示用户的照片,可能包含分页和排序功能。 - 照片评论:允许用户对照片进行评论,这涉及到额外的消息模型和社交互动。 - 搜索功能:通过关键字搜索照片或用户。 5. **优化与扩展**:虽然这个项目...