ユーザー名のパラメータを取得し、その値をセッションのユーザー名に置き換えようとしているため、このユーザー名でテーブルのタイムスタンプを生成するためにDRL内のストアドプロシージャに渡すことができます。 。 パラメータ "username"は、デフォルト値が付いているRDLのパラメータの1つで、次のコードで変更しようとしています。 「SSRSがプログラムでパラメータを設定してValidValueMissing状態にする
ReportViewer.ServerReport.SetParameters(parameters);
レポートを実行した後、私はメッセージを取得する:
var userParameter = GetUserParameter();
if (userParameter != null)
{
newParameters.Remove(newParameters.FirstOrDefault(param => param.Name.Contains(CurrentUserParameterName)));
newParameters.Add(userParameter);
}
検索ユーザ名ReportParameters:ServerReportへ
var paremeters = ReportViewer.ServerReport.GetEditableHiddenParameters();
//finds parameter by its name, pelase view const value in CurrentUserParameterName
var userParameter = paremeters.FirstOrDefault(param => param.Name.Contains(CurrentUserParameterName));
if (userParameter != null)
{
userParameter.Values.Clear();
userParameter.Values.Add(Utils.GetUserName());
}
return userParameter;
設定パラメータ
ReportParametersの1の交換'username'パラメータに値がありません "
ServerReport.GetParameters()
をデバッグして見ると、私はReportParameter "username"を持っていることがわかりますが、私は値(新しい値)を持っていますが、Stateは "MissingValidValue"です。
私は間違っていますか?事前に おかげで、 エディ
のように、現在のユーザー名の値を持つValidValuesという名前のメンバーと、空のvalueという名前のメンバーがあるようです。 –