SSRS:如何在 ParameterValue 对象上设置多个值?

发布于 2024-10-17 09:30:10 字数 757 浏览 3 评论 0原文

下面的代码获取我在为 SSRS 编写的 Windows 界面中为报告参数输入的值。但是,这仅适用于不允许多值的参数。由于 Parameter.Value 是一个字符串,我不知道如何为其分配多值。

    private RE2005.ParameterValue[] GetParamValueSettings()
    {
        var parameters = new RE2005.ParameterValue[_Parameters.Count()];

        for (int i = 0; i < _Parameters.Count(); i++)
        {
            parameters[i] = new RE2005.ParameterValue();
            parameters[i].Name = _Parameters[i].Name;
            **parameters[i].Value = pnlParams.Controls[_Parameters[i].Name].Text;**
        }

        return parameters;
    }

对于上面粗体的行,我确实尝试了以下测试: parameters[i].Value = "A,B,C";(这些是有效值)

但报告抛出错误,指出它需要有效值。在报告中,这是我的显示方式: = Join(Parameters!myParameter.Value, ", ")

任何建议表示赞赏,谢谢!

The code below gets the values I have entered for my report parameters in a Windows interface I have written for SSRS. However this only works for parameters that do not allow MultiValue. Since Parameter.Value is a string, I don't know how to assign multivalue to it.

    private RE2005.ParameterValue[] GetParamValueSettings()
    {
        var parameters = new RE2005.ParameterValue[_Parameters.Count()];

        for (int i = 0; i < _Parameters.Count(); i++)
        {
            parameters[i] = new RE2005.ParameterValue();
            parameters[i].Name = _Parameters[i].Name;
            **parameters[i].Value = pnlParams.Controls[_Parameters[i].Name].Text;**
        }

        return parameters;
    }

For the line in bold above I did try this as a test:
parameters[i].Value = "A,B,C"; (those are valid values)

But the report Throws an error saying that it needs valid values. In the report this is how I display it: = Join(Parameters!myParameter.Value, ", ")

Any advice appreciated, thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

雅心素梦 2024-10-24 09:30:10

使用 Visual Studio 2010,您可以初始化报表参数带有字符串数组

在 2005 中,您可能必须多次添加具有相同名称但新值的参数。

这是一个过程,如果只有一个多值参数,它将获取报告的参数。

  private RE2005.ParameterValue[] SetParameterValue(string name, string[] values)
    {
        var parameters = new RE2005.ParameterValue[values.Count()];

        for (int i = 0; i < values.Count(); i++)
        {
            parameters[i] = new RE2005.ParameterValue();
            parameters[i].Name = name;
            parameters[i].Value = value;
        }
        return parameters;
    }

with visual studio 2010, you can initialise the Report parameter with a string array.

with 2005 you may have to add the parameter in multiple times with the same name, but a new value.

This is a proc that would get parameters for a report if there was only one multivalued parameter.

  private RE2005.ParameterValue[] SetParameterValue(string name, string[] values)
    {
        var parameters = new RE2005.ParameterValue[values.Count()];

        for (int i = 0; i < values.Count(); i++)
        {
            parameters[i] = new RE2005.ParameterValue();
            parameters[i].Name = name;
            parameters[i].Value = value;
        }
        return parameters;
    }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文