2015-10-20 28 views
0

我试图在ReportViewer中使用多值参数创建报表。我将这个多值参数作为字符串数组传递给存储过程。当手动输入此参数的字段为空时,它可以很好地处理多个参数。只有当输入参数的文本字段为空时,多值参数数组才能正常工作

但是,我希望在ReportViewer中使用下拉菜单填充此字段,以允许用户单击他们喜欢的特定参数。要使此字段填充下拉菜单,我右键单击ReportBuilder中的参数名称,选择Para​​meter Properties,单击Available Values选项,然后选择“从查询中获取值”选项。这个下拉菜单允许用户点击复选框来选择他们希望过滤报告的值,而不是键入它们。当我手动在此参数字段中选择多个复选框时,它工作得很好。但是,当我尝试从外部程序自动传入此字段的参数时,它不起作用。如果我自动将单个值传递给此参数,则没有问题。但是,如果我试图自动将多个值传递给此参数,就像我从未在此字段中输入任何参数。

这对我来说绝对没有任何意义。我曾尝试通过右键单击数据集,选择数据集属性,单击参数,并使用以下表达式作为参数的值,使用ReportBuilder编辑报表:

= Join(Parameters!IndustryNums.Value,“ ,“)

这并没有解决问题。我曾尝试将参数值作为字符串数组传递给存储过程,而不是用逗号分隔的字符串,但尚未解决问题。我一直在寻找这个网站和其他网站上的答案几天。我不知道还有什么要做。任何人可以提供任何援助将不胜感激。

回答

0

我已经能够解决这个问题。我自动传入报表的参数是整数值。所以我进入Microsoft SQL Server Report Builder,右键单击IndustryNums参数,选择参数属性,并将数据类型从文本更改为整数。

底线 - 确保报表生成器中参数的数据类型与应用程序代码中参数的数据类型匹配。