サポンテ 勉強ノート

サポンテの勉強ノート・読書メモなどを晒します。

.NET の ReportViewer にてエラー

エラー内容

An error has occurred during report processing. Cannot create a data reader for dataset 'DataSet1'.

あるいは

レポートの処理中にエラーが発生しました。 データセット 'DataSet1' のデータ リーダーを作成できません。

背景

.NET の ReportViewer を久しぶり(あるいは初めて)いじくっていました。

普段は面倒なので HTML + CSS で帳票作っています。

原因

データソースに「オブジェクト」を指定して、検索メソッドを実装します。

検索結果がない、あるいは引数が正しくない場合に Nothing を返すと冒頭のようなエラーメッセージが表示されました。

こうなると正しい引数を渡しても二度と結果は返ってきません 1

こういうケースでは Nothing を返さずに、空(件数0)のコレクションを返す必要があります。

ちなみに

このメッセージ、カスタマイズできないものでしょうかね。

検索結果がない場合に、空の表が表示されてしまうのはかっこ悪いので「検索結果がありません。」などのメッセージを表示したいのですが、その手段もないものでしょうかね。


  1. 結果が返ってきたり返ってこなかったりしたのでハマった。