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

时间:2011-02-14 22:42:01

标签: reporting-services parameters multivalue

下面的代码获取我在为SSRS编写的Windows界面中为报表参数输入的值。但是,这仅适用于不允许MultiValue的参数。由于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;
    }

对于上面粗体的行,我确实试过这个作为测试: 参数[i] .Value =“A,B,C”; (这些是有效值)

但报告引发错误,说它需要有效值。在报告中,这是我显示它的方式:= Join(参数!myParameter.Value,“,”)

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

1 个答案:

答案 0 :(得分:4)

使用visual studio 2010,您可以initialise the Report parameter with a string array

使用2005年,您可能需要多次使用相同的名称添加参数,但需要添加新值。

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

  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;
    }