エラー内容
An error has occurred during report processing. Cannot create a data reader for dataset 'DataSet1'.
あるいは
レポートの処理中にエラーが発生しました。 データセット 'DataSet1' のデータ リーダーを作成できません。
背景
.NET の ReportViewer を久しぶり(あるいは初めて)いじくっていました。
普段は面倒なので HTML + CSS で帳票作っています。
原因
データソースに「オブジェクト」を指定して、検索メソッドを実装します。
検索結果がない、あるいは引数が正しくない場合に Nothing を返すと冒頭のようなエラーメッセージが表示されました。
こうなると正しい引数を渡しても二度と結果は返ってきません 1。
こういうケースでは Nothing を返さずに、空(件数0)のコレクションを返す必要があります。
ちなみに
このメッセージ、カスタマイズできないものでしょうかね。
検索結果がない場合に、空の表が表示されてしまうのはかっこ悪いので「検索結果がありません。」などのメッセージを表示したいのですが、その手段もないものでしょうかね。
- 結果が返ってきたり返ってこなかったりしたのでハマった。↩