在我的http://www.cnblogs.com/wuhenke/archive/2009/11/22/1608216.html 已经转载介绍了FlexReport开源组件,只是没有去研究和使用,今晚再次遇到它,才发现它功能如此强大。
FlexReport基于LGPL协议发布,可以在RIAForge找到它。其API特性包括 :支持报表布局、多页内容以及打印预览功能。
- 报表布局:如果要在Flex中打印页面,你应该创建一个容器,并把它加入到FlexPrintJob中。它处理静态内容时没有什么大问题。但是如果创建动态报表,即你不知道在处理过程中会产生多少页的话,事情很快会变成噩梦。
- 多页内容:专门用于打印的组件只有PrintDataGrid。
- 打印预览:正如我刚才说的,各个组织需要打印功能,但他们也不希望浪费纸张。使用PrintJob是无法实现打印预览的。没有人希望打印了100页表格之后,才发现打印了错误的数据。
原来以为跟自己之前解决的PDF在线阅读功能一样,以为自己走了弯路了。后来发现它主要是单页填充内容,并不是显示PDF,可能也不能很好地支持图像打印。
经我测试,发现它在打印文档时还是有BUG,会出现多页空白页。
当然对于FlexReport,我还是以学习为主,并尝试修正它的BUG。
DEMO:http://www.kemelyon.com/flexreport/0_2rc1/
SOURCE: http://flextutorial.org/wp-content/uploads/2009/06/flexreportdemo.zip