查询参数的默认输入方式是文本框,如果某个查询条件是从一个下拉列表中选择,可设置查询参数的【可用数据】。
以产品查询报表的查询为例,产品表中有一个外键字段【类别ID】,外键所引用的是【类别】表的【类别ID】字段。
如果需要按类别查询产品,理想的方式就是以下拉框的形式列出产品类别,用户选择类别即可查询该类别的产品清单,而不必手工输入类别ID,如下图:
为此,先定义一个数据集【产品类别】,SQL语句如下:
select * from 类别
此数据集的字段如下:
点击【查询参数】部分的【添加】,将【名称】修改为“TypeID”,【提示文本】修改为“产品类别:”,【数据类型】设置为“Integer”。
在【可用数据】部分,从【数据集名称】下拉框中选择上面定义的【产品类别】数据集,在【数据字段】下拉框中选择【类别ID】,在【标签字段】下拉框中选择【类别名称】,如下图:
其中,【数据字段】的值将作为传给数据集SQL语句的实际参数值;【标签字段】的值则是显示在下拉列表框中的字符串。
这样设置了【可用数据】的查询参数,在报表查看页面的参数栏中,就会以下拉列表框的形式来显示,供用户选择。
接下来,定义带查询参数的数据集。点击【数据】选项卡中【数据集】右侧的【添加】按钮,在【查询语句】中输入带参数的SQL语句,在【查询参数】部分添加新的查询参数,然后设置参数值的表达式为:=Parameters!参数名.Value,如下图:
点击【验证】和【确定】按钮,保存数据集的定义。
从工具箱拖放一个表格到设计区,然后绑定数据集的相应字段,如下图:
预览报表,就可以看到下拉框式的查询参数,如下图:
用户不需要凭记忆输入产品类别ID,只需从下拉框选择,即可实现按类别查询产品列表。
提示:
除了可以用数据集作为查询参数的【可用数据】,也可以手工添加可用数据项。