Previous topicNext topic
Help > 报表设计器 >
数据源

关于报表的数据源我们在这里再着重强调一下。ActiveReport是一个通用的、专业的报表控件,本身是有自己的一个现成的数据源连接方法的,虽然报表本身支持减少每次都重复创建数据源的动作,可以共享数据源,但是数据源的连接字符串都是明文保存的。如果是BS项目,这些报表文件都保存在服务器的话,这种问题并无不妥,但是我们的平台主要是CS为主,报表文件是要分发到各个客户端的,明文保存数据源连接字符串这一点就让人很难以接受,所以我们平台做了简化处理,自动帮我们隐藏了报表文件中的连接字符串。

注:终上所述,在我们平台内部进行报表开发的话,建议统一使用平台内数据源引用方式。

数据集

在报表中,数据源分为两种,一种是根据连接字符串生成的有对应数据源名称的数据源,这类数据源下面添加的数据集我们约定称之SQL表,因为他们都是通过SQL动态生成,每次更新SQL都会重新生成相应的字段。另一种是动态数据源,这类数据源下面添加的数据集我们约定称之为动态表,因为他们是直接从窗体表直接被引用过来的。

动态表

如果我们在报表设计过程中,需要使用窗体表中的第一行数据或所有数据作为数据分析展示的数据,我们即可使用根据“引用主表”被带入报表设计中的动态数据源来进行设计。这种动态数据源的优点是,我们自己可以控制报表的明细,我们可以使用代码来生成任意的数据来到报表中展示,缺点是只能整个表一起引用,无法作参数筛选。

虽然参数筛选我们无法使用,但是我们可以使用过滤,实现跟参数筛选类似的效果。过滤相关介绍可以参考:过滤

SQL表的优势是通用,将来有可能在网页端展示,而动态表的优势是高效(因为数据是已经加载好的,内存中现成的,不需要到数据库重新加载)、灵活(自己可以用代码随意控制,无论是数据内容、格式,还是数据的清单明细都可以自己控制)。像一些图片,我们就可以利用动态表的灵活性而实现简单地展示到报表当中去。