运行时动态创建报表(二)他山之石

来源:互联网 发布:sql 的not in中的为空 编辑:程序博客网 时间:2024/06/05 19:07

上一篇文章我简单介绍了一下我的构想,这篇文章开始介绍具体的实现。俗话说它山之石可以攻玉。写程序也一样,如果有现成的好的构想我们可以拿来借鉴或使用。http://www.gotreportviewer.com/中有几个非常经典的例子,介绍了如何动态生成rdlc报表文件。里面涉及了几个重要的类。我们完全可以借鉴使用。下面的文章中就用到了这几个类,有些地方我进行了扩展。

    首先我简单讲一下rdlc报表文件,RDL称为报表定义语言(Report Definition Language, RDL)的语言,C代表Client-side processing,凸显了它的客户端处理能力。使用过reportviewer的朋友可定知道rdlc。我就不详细介绍了。以前我们设计报表都是通过vs ide 在设计时做好报表,再通过reportviewer调用,现在我们的主要目的是如何动态生成rdlc文件。要项动态生成rdlc文件就要熟悉rdlc文件结构。我们通过记事本打开任意一个我们做好的rdlc文件可以看到在文件第一行有http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition,说明rdlc文件用这个schema,我们可以下载这个schema,并通过工具生成reportdefinition类(如何操作网上有很多介绍)。reportdefinition类是我们制作报表rdlc文件的基础,http://www.gotreportviewer.com的例子中也有使用可以直接下载使用,这个类有9千多行定义了报表中table、list、matrix、chart等类。http://www.gotreportviewer.com中还介绍了如何动态实现table类型和matrix类型的rdlc文件,我在这两个基础上又作了一个实现chart类型rdlc的类。有了这三个类我们,基本上就可以制作出绝大多数要求的报表文件。这三个类我会再后面详细介绍。

    本人不擅长写文章,就像俗话说的,茶壶煮饺子有嘴倒不出,今天就写到这,有空再写。

 

原创粉丝点击