VB
Microsoft 开发的一种面向对象的编程语言,其在 .NET Framework 上实现。 以前称为 Visual Basic .NET。
82 个问题
我目前正在使用 Visual Studio 2013,并且正在编写一项服务,该服务将允许某人选择报表设置并将其传递到 SSRS 2016 报表中。 我正在编码,这是 VB.net。
我遇到的问题是已将一个报告参数设置为允许多个值。 多值参数在 SSRS 中工作正常。 一旦我尝试从 VB.net 传入一个字符串,但如果它中有多个值,它就会出错。 例如,如果您传入“P1”,它工作正常,但是,如果您传入“P1,P2”,则会出现以下错误。此报表需要报表参数“<ParameterName>”的默认值或用户定义值。若要运行或订阅此报表,必须提供参数值。
我查找了几篇关于将其拆分为字符串列表或数组的论坛帖子,但都没有奏效。 我收到一个错误,说您无法将“ListOfStrings”转换为 ParameterValue 或类似的东西
如果您需要更多信息,请:)告诉我。
Note:此问题总结整理于:How to pass a report parameter with multiple values from vb.net
为了将多值参数传递给SSRS,您可以尝试以下代码。
Dim rptParams As List(Of ReportParameter) = New List(Of ReportParameter)()
Dim param As ReportParameter = New ReportParameter("ParamName")
Dim values As String() = New String() {"P1", "P2"}
param.Values.AddRange(values)
rptParams.Add(param)
Me.ReportViewer1.ServerReport.SetParameters(rptParams)
希望对您有所帮助。 此外,如果我有任何误解,请提供您尝试过的代码。
也请看以下参考: SSRS:如何在 ParameterValue 对象上设置多个值? 您可以将代码转换为 Visual Basic。
如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。
注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。