1

reportviewerコントロールのテーブルコンポーネントにdatatableのデータを入力したいと思います。つまり、reportviewerコントロールのソースとしてdatatableを使用したいと思います。データセットを作成しようとしましたが、プログラムで入力した後にデータテーブルに含まれる正確な列を含むデータテーブルを追加しました。次に、次のコードを使用しました。

 DataTable dt = new DataTable();
 dt.TableName = "DataTable1";
 conn.Open();
 adapter.Fill(dt);
 ReportViewer1.ProcessingMode=ProcessingMode.Local;
 ReportDataSource source = new ReportDataSource("SampleDs", dt);
 ReportViewer1.LocalReport.DataSources.Clear();
 ReportViewer1.LocalReport.DataSources.Add(source);
 ReportViewer1.DataBind();
 ReportViewer1.LocalReport.Refresh();

ただし、それは機能しません。私が受け取る唯一のメッセージは次のとおりです。

レポートの処理中にエラーが発生しました。SampleDs。

誰かが問題を解決する方法を教えてもらえますか、またはそのようなレポートを作成する完全なプロセスが説明されている参照を指摘できますか?

4

1 に答える 1

2

ReportDataSourceオブジェクトのコンストラクターに使用しているオーバーロードでは、最初のパラメーターにデータ ソースの名前が必要です。これを提供していません。DataTable 名が必要です。

コードをこれに更新すると、問題ありません。

ReportDataSource source = new ReportDataSource("DataTable1", dt);
于 2012-07-30T16:39:05.440 に答える