Previous topicNext topic
Help > 报表设计器 >
报表管理设置

我们第一次进入报表设计界面前,会弹出“报表管理”窗体方便我们设置相应的参数。默认情况下,这个窗口上自动帮你生成了很多默认的设置,设置这些参数可以给我们节约大量的配置报表数据源、参数、字段重命名等枯燥重复的工作。

报表名称:给报表模板起一个名称。因为我们整个项目中所有的报表模板是放在同一个目录下的(项目文件夹\Attachments\Reports),这就要求我们给报表取名字的时候一定要注意避免重复,因为重复了就会导致覆盖其他地方设置的报表模板。切记!切记!

报表类型:当前报表选择哪一种报表,一共三种,请根据“如何选择页面报表、RDL报表、区域报表”来选择适合自己的报表。

是否可独立生成这是为将来在BS端共用报表预留的一个参数。在仅使用SQL视图的场景下,我们的报表即可脱离平台,在不打开平台的情况下,将来在服务端直接生成报表,以供网页端共同使用。一旦我们使用了“引用主表”中的数据作为报表的数据源的话,那么这里的“是否可独立生成”选项就必须设置为False了。

是否传递系统变量:这是为了将系统中的一些系统变量以报表参数的形式引入报表,方便我们根据实际需要进行相应数据的筛选。这些变量会自动地被添加到“参数”里面,方便我们直接引用。

数据源:报表中需要引用的数据源。我们可以选择多个,如果需要的话。默认会将主表的数据源传入。自己根据实际情况修改。

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

进入报表设计界面后,被引用的主表会被添加到“动态数据源”下。如果我们的报表不需要此报表的数据的话,可以进入报表设计界面后删除此动态数据源,以提高报表生成速度。

参数列:我们在报表设计时,获取数据筛选的条件相关字段。

打印选择类型:设置我们最终点击表格菜单中的打印按钮时,将以何种方式给报表传递参数。

CurrentRow:将用户选择的当前行中,参数列的数值传递进报表。

SelectedRows:将用户选择的连续多行的数据,逐行传递进报表以达到一次性打印多张报表的效果。

CheckedRows:在针对表格启用复选框的情况下,我们可以选择多个不连续的行,并一次性地将选择行逐行传递进报表以达到一次性打印多张报表的效果。

参数类型

InSingleParameters:是指多行数据组合成in()筛选条件作为单个参数传递。比如我们设置的参数列为“员工编号”,那么就会将用户所选择的所有行中员工编号拼接成一个in筛选条件的字符串格式,比如字符串类型的为【'U001','U002','U003'】,数值类型的为【1,2,3】。当然,这个拼接的字符串会传递给相应的“参数”对象。但是我们知道SQL语句中是不支持参数作为in的筛选条件的,这就需要我们修改数据源中对应数据表的SQL语句为拼接SQL。

我们可以通过在SQL数据表上右键,点击“修改”菜单,进入“数据集-查询”编辑窗口,进入“查询”页签,然后在右边重新编辑SQL语句为表达式。这样我们就可以用拼接SQL语句的方式来使用传递过来的in筛选条件格式的参数了。这里的表达式语法可以参考:表达式

="select * from [EmployeeInfo]  where EmployeeID in(" & Parameters!EmployeeID.Value & ")"

注意:这里修改过“查询”中的SQL语句后,“字段”页签里面的字段会被重置,如果之前有使用这个SQL数据表中的字段绑定到控件的话,记得重新确认一下是否有重命名。因为初始化报表时,默认是有重命名字段的。而重置SQL生成的字段没有重命名,所以需要重新绑定字段。如果不重新绑定,就会导致无法正常显示数据。

SingleRowMultiParameters:单行有多个参数传递。这个配合上面设置多个参数列,就可以将用户选择的行数据传递给报表了。

Parameters:这是自己用代码传递参数时使用。

SQL视图:就是我们为独立生成报表而引用的数据源。

我们可以看一下我们设置的参数最后都到报表的哪里了。