7

以下のコードは、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;
    }

上記の太字の行については、テストとしてこれを試しました: parameters[i].Value = "A,B,C"; (これらは有効な値です)

しかし、レポートは有効な値が必要であるというエラーをスローします。レポートでは、次のように表示します: = Join(Parameters!myParameter.Value, ", ")

アドバイスをいただければ幸いです。

4

1 に答える 1

5

Visual Studio 2010 では、Report パラメーターを文字列配列で初期化できます。

2005 では、同じ名前で新しい値のパラメータを複数回追加する必要がある場合があります。

これは、多値パラメーターが 1 つしかない場合にレポートのパラメーターを取得するプロシージャです。

  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;
    }
于 2011-02-15T00:52:11.517 に答える