2

ReportViewerを構成しようとしていますが、機能させることができません。

私は次のデータセットを持っています:

DataSet

これはデータセット内のクエリです。

SELECT        DataTime, DataValue
FROM            PointValue
WHERE        (DataTime >= @FromDate) AND (DataTime <= @ToDate)

レポートrdlcもあります:

Reportrdlc

クリックするとこのコードを実行するボタンがあります。

var myDataTable = new i96X_dataDataSet.PointValueDataTable();
var myTableAdapter = new PointValueTableAdapter();
myTableAdapter.Fill(myDataTable, Convert.ToDateTime("2010-01-20T00:00:00.000"), Convert.ToDateTime("2010-01-21T00:00:00.000"));
var rds = new ReportDataSource("i96X_dataDataSet_PointValue", myDataTable as DataTable);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();

しかし、これを実行すると、ReportViewer内に次のように記述されます。

データソース'DataSet1'にデータソースインスタンスが提供されていません。

デバッグすると5990のカウントが表示されるため、適切なデータが収集されているようです。

デバッグ

データソースが追加されていないようです。

明らかに、私は何か間違ったことをしています。また、これを達成するためのより簡単な方法はありますか?大変な作業のようです。私はこれについて一日中記事を読んでいます。私がやりたいのは、SQLデータベースに添付されたSELECTステートメントをなんらかの方法で調整し、そのデータをレポートビューアーに取得できるようにすることです。

ガイダンスをありがとう、

ジュリアン

4

1 に答える 1

3

レポートがと呼ばれるデータソースに基づいて作成されているように聞こえますDataSet1

この行を変更してみてください...。

var rds = new ReportDataSource("i96X_dataDataSet_PointValue", myDataTable as DataTable);

...この行に..。

var rds = new ReportDataSource("DataSet1", myDataTable as DataTable);

または、レポートを変更して、レポート定義のデータソースの名前を変更することもできます。同じデータソースを使用すると予想されるレポートが多数ある場合は、それがより理にかなっている可能性があります。

于 2013-02-28T18:05:12.167 に答える