报表中的数据内容来自数据集,数据集的核心是一个SQL语句,其中的WHERE子句用于设置查询条件。
如果需要允许用户在查看报表时指定查询条件,可以通过葡萄城报表的【查询参数】来实现。
下面介绍查询参数的具体用法。
从报表管理门户(http://localhost:8080)点击【创建报表】,进入新报表的设计页面。点击右边栏的【数据】选项卡,再点击【查询参数】右侧的【添加】,如下图:
【查询参数】列表中将出现一个新条目【查询参数1】,点击该条目,设置栏将显示查询参数的详细设置信息,将【名称】修改为“TypeID”,【提示文本】修改为“产品类别:”,【数据类型】设置为“Integer”,然后点击设置面板左上角的左箭头,返回上一个设置面板,如下图:
在右边栏【数据】选项卡中,点击【数据集】右侧的【添加】。
在【新建数据集】下方,选中之前创建好的示例数据源,再点击【添加】按钮,如下图:
在数据集编辑对话框中,输入SQL语句:
select * from 产品 where 类别ID=?
这个SQL语句中的问号(?)就是查询参数。
根据数据库类型的不同,查询参数的形式会有区别。比如:
Oracle数据库的查询参数形式为冒号后跟参数名,例如:“:TypeID” (注意不含双引号)
SQL Server数据库的查询参数形式为AT符号后跟参数名,例如:@TypeID
ODBC数据源的查询参数,就是以问号代替,因为没有参数名,所以用户输入的参数值与SQL语句中的问号将按次序绑定。
点击【数据筛选】部分,【查询参数】右侧的【添加项目】,可添加一个新的查询参数,点击该参数右侧的小方块图标,选择【表达式】,如下图:
在弹出的查询参数编辑对话框中,展开【查询参数】,找到之前定义好的“TypeID”参数,双击,右侧表达式变成: =Parameters!TypeID.Value,如下图:
点击【保存】,返回数据集定义对话框。
此时数据查询条件就定义好了。点击【验证】和【确定】按钮,保存数据集的定义。
为了展示数据集的数据,从左侧工具箱拖放一个表格到报表设计区。绑定相应的字段,如下图:
点击顶部工具栏做左侧的三角形图标按钮,查看报表内容,如下图:
可以看到,为了让用户输入查询参数的值,葡萄城报表提供了一个参数栏,显示在报表查看页面的左侧。用户在参数栏输入参数值,点击【预览报表】按钮,就可以看到根据输入的参数值查询出来的数据集数据。