0

VS2010版です。

CR は NULL 値を受け入れることができます。これは、パラメーター値の入力を求めるプロンプトが表示されたときに、「NULL に設定」というかわいい小さなチェック ボックスがあるためです。これは私が必要とする動作です。

しかし、そのようなレポートを呼び出すことはほとんどなく、コードで行います。そのため、ユーザーがパラメーターの値を提供しない場合、代わりに NULL 値を渡したいので、レポート自体で別のことを行うことができます。

私は、主にCRフォーラムで、何年にもわたってネットを検索してきましたが、実際には機能しない多くの解決策があります。

これはそれらの1つです:

ParameterDiscreteValue objDiscreteValue = new ParameterDiscreteValue();
objDiscreteValue.Value = null;
rptH.SetParameterValue(parName, new ParameterDiscreteValue(objDiscreteValue));

CR は、... パラメーターの値が指定されていないことを示しています。

ダブルパラメータを作成してマッスルソルブします。1 つの実際のパラメーターと、そのための 1 つのサテライト パラメーター (ブール値、実際のパラメーターの値があるかどうかのみを確認するため)。そして、それは機能します。しかし、それは退屈で、ジェネリック (レポート メタデータに基づくパラメーターの自動プロンプト) が非常に難しくなります。

誰かがこの問題の解決策を見つけるのに十分なほど深く掘り下げたことを願っています。

よろしく、

4

2 に答える 2

0

私は ADO.NET DataSets から DBValue.Null に出くわし、それを Crystal に渡そうとするきっかけになりました。ちょうどこのような:

ParameterDiscreteValue objDiscreteValue = new ParameterDiscreteValue();
objDiscreteValue.Value = DBNull.Value;
rptH.SetParameterValue(parName, objDiscreteValue);

これが誰かに役立つことを願っていますが、これはどこかに文書化する必要があると思います。

よろしくお願いします、

于 2012-11-13T08:09:21.163 に答える