1

テキストボックスに次の式を含む null 許容のブール入力パラメーターがあります。

=iif(Parameters!Sorted.Value="","All",iif(Parameters!Sorted.Value="True","Sorted","Unsorted"))

Sorted入力パラメーターの値に基づいてこれを表示しようとしています

Null = "すべて"

True = 「ソート済み」

False = 「未ソート」

また、次のスイッチステートメントを試してみましたが、うまくいきませんでした。

=Switch(Parameters!Sorted.Value="","All",Parameters!Sorted.Value="True","Sorted",Parameters!Sorted.Value="False","Unsorted")

レポートがレンダリングされるたびに、次のエラーが表示されます。

The value expression for the textbox ‘textbox7’ contains an error: Input string was not in a correct format.

VS2003 と SSR Designer v 8.0 を使用しています

編集#1:リクエストごと

<ReportParameter Name="Sorted">
  <DataType>Boolean</DataType>
  <Nullable>true</Nullable>
  <Prompt>Sorted</Prompt>
</ReportParameter>

これはあなたが要求していたコードですか?

4

3 に答える 3

0

ブール型のパラメータの場合、文字列であるかのようにチェックすることは意味的に正しくありません。

を使用IsNothing(Parameters!Sorted.Value)してnullをチェックし、次にParameters!Sorted.Value = True(引用符なしで)2番目のケースをチェックできます。

Visual Studioを起動して、ブール値パラメーターを文字列であるかのように処理しても問題がないかどうかを確認しなかったことは認めますが、エラーが発生すると、そのように聞こえます。そのエラーは通常Parse、あなたがそうする場合のように、メソッドによってスローされますInt32.Parse("34.32")。RSは自動解析を行っているので、データ型が一致し、等式演算子がその魔法を実行できると思います。

于 2009-05-26T18:25:41.630 に答える
0

ロジックを変更して、True または False を明示的にテストしてから「すべて」にドロップしないのはなぜですか? そして、文字列を気にせずに、True vs "true" など

=iif(Parameters!Sorted.Value,"Sorted",iif(NOT(Parameters!Sorted.Value), "Unsorted","All"))

(テストできず、NOT が正しいことを願っています :-)

于 2009-05-26T18:39:32.647 に答える
0

さて、あなたの問題は、DataType が Boolean で、空白の値を指定していることだと思います。それをしてはいけない。

代わりに、キーワード Nothing を指定してみてください。

=iif(Parameters!Sorted.Value=nothing,"All",iif(Parameters!Sorted.Value="True","Sorted","Unsorted"))
于 2009-05-26T18:01:51.880 に答える