ActiveReports 报表中 RDF 文件解析

AcitveReport 提供两种报表模板,XML(RPX)模板和Code-Based 模板。两者都可以用于设计报表。 但是 RDF 格式文件我们大多不是很了解。许多客户在提到 RDF 格式时显得无所适从。其实 RDF 格式文件是 ActiveReport 一种特有的文件扩展类型。在本片文章中,我们将详细介绍 RDF 格式文件。 什么是 RDF 格式?官方的解释为:“RDF 是一种文件格式,其中数据为静态的。已存储的报表模板在调用时会展示其中的数据”。 通过官方术语你是否理解呢?下面阐述 RDF 格式文件的作用。 报表的 Document 在报表运行之前就已经生成了,但是在运行之前 Document 为空。在报表运行之后,Document 中会创建一页或多页报表。 报表中的每一页都仅仅是一张画布,在这张画布上我们渲染报表控件,来展示数据。所以每一页报表都会包含很多关于控件位置、填充色等等的格式信息。 之前的一篇文章提到过,Document 文件以字节流的形式存储在缓存中。如果我们存储 document 到物理磁盘中,会丢失很多信息。这时我们就可以通过 .rdf 文件来存储 Document。下面是代码片段:

ActiveReport1 rpt = new ActiveReport1();   
rpt.Run();
rpt.Document.Save(NewRDF.RDF); 

现在你清楚了吗?RDF 格式文件可以非常完整的保存报表的信息。我们可以随时随地复用之前设计好的报表,代码片段:

rpt.Document.Load(NewRDF.RDF);   
pdfExport(rpt.document,"pdfexport.pdf");   

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏守候书阁

大道至简--API设计的美学

对于前端开发而言,肯定会和API打交道,大家也都会想过怎么设计自己的API。优秀的 API 之于代码,就如良好内涵对于每个人。好的 API 不但利于使用者理解,...

1683
来自专栏申龙斌的程序人生

解密310 BTC(2)

价值1400万的比特币猜谜游戏刚火了几天,大奖就被一位高手全部取走,310 BTC的破解过程现在还没有公开,但已经有黑客公布了第二关的解法视频,过程相当复杂,我...

2001
来自专栏Golang语言社区

【go语言】Goroutines 并发模式(一)

摘要 这一篇主要是对GO语言中的并发编程模式做一个粗略的归纳总结,文中示例参考自golang conference中的一些演讲和博客,go涉及到的Go语言的语法...

3476
来自专栏FreeBuf

Dance In Heap(四):一些堆利用的方法(下)

0x00 前面的话 本篇文章是系列的最后一篇,主要分析一下House系列的几个典型漏洞,关于堆利用的后续学习,大家可以关注 shellphish 团队的 how...

2369
来自专栏Java学习网

书写高质量代码之状态维护

状态之始 我们第一眼接触新事物所触发的思考方式,决定了以后我们看待这样事物的角度,进而影响更深层次的理解和行为。 编程相对于人类历史的进程而言,不过是个六七岁孩...

3665
来自专栏企鹅号快讯

通过for循环嵌套语法绘制一个漂亮的蜂形图案

利用for循环嵌套画出一个蜂形图案。 代码如下: import turtle #导入小海龟 turtle.bgcolor('blue') #设置背景颜色 ...

2197
来自专栏Web 开发

知呼前端工程师面试题目

第三题的答案(我的答案有点问题,等弄好了再上传 要想完美,先出主体,通过负margin+双容器)

890
来自专栏极乐技术社区

微信小游戏初体验

前言 上周【跳一跳】小游戏刷遍了朋友圈,也代表了微信小程序拥有了搭载游戏的功能(早该往这方面发展了,这才是应该有的形态嘛)。作为一个前端er,我的大刀早已经饥渴...

1.3K7
来自专栏vue学习

【干货】前端自学之路(持续更新)

《JavaScript Dom编程艺术》 《JavaScript面向对象编程指南(基础)》 《JavaScript高级程序设计》 《高性能JavaScri...

2102
来自专栏java一日一条

书写高质量代码之状态维护

我们第一眼接触新事物所触发的思考方式,决定了以后我们看待这样事物的角度,进而影响更深层次的理解和行为。

721

扫码关注云+社区

领取腾讯云代金券