如何从 vb.net 传递具有多个值的报表参数

Hui Liu-MSFT 46,961 信誉分 Microsoft 供应商
2024-04-03T05:39:51.35+00:00

我目前正在使用 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

VB
VB
Microsoft 开发的一种面向对象的编程语言,其在 .NET Framework 上实现。 以前称为 Visual Basic .NET。
82 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Jiale Xue - MSFT 41,116 信誉分 Microsoft 供应商
    2024-04-03T06:25:00.54+00:00

    为了将多值参数传递给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。


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助