0

この質問を MSDN フォーラムに投稿しました

http://social.msdn.microsoft.com/Forums/en/vsreportcontrols/thread/f00e3406-354d-4f54-acce-7b7f0ad4c90f

しかし、私は何の応答も得ていません。手伝ってくれませんか。私はこのかなり単純な作業に本当にこだわっています。

私のコードは正しいようですが、それでも

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

クロスポストすみません…

4

3 に答える 3

0

これも私にとってはうまくいきましたが、本当の鍵はここにありました:

((LocalReport)e.report)

私の場合、私は使用しています:

((LocalReport)e.report).LoadReportDefinition(report_stream);

foreach (ReportParameter rp in ((LocalReport)e.report).OriginalParametersToDrillthrough)
        {
            _paramCollection[rp.Name].parameterValue.AddRange(rp.Values.OfType<string>());
        }
DataTable newData = GetData();
ReportDataSource rds = new ReportDataSource();
rds.Name = _datasetName;
rds.Value = newData;
((LocalReport)e.report).DataSources.Add(rds);

reportviewer が残りを処理します。@Knows Not Much、先導してくれてありがとう。

于 2012-01-10T13:19:10.707 に答える
0

エラーを解決しました。

次のようなデータソースを追加していました

this.ReportViewer.Localreport.DataSource.Add
(new RemoteDataSource("DataSet1_Order_Details", ObjectDataSource2.ID));

代わりに、次の方法でデータ ソースを追加する必要があります。

DataSet1TableAdapter.OrderDetails od = new DataSet1TableAdapter.OrderDetails();
((LocalReport)e.report).Datasources.Add(new RemoteDataSource("DataSet1_Order_Details", od.get(orderid))

これで問題が解決し、ReortViewer レポートでドリルダウンできるようになりました。

よろしく、 アビシェーク

于 2010-05-12T10:12:34.700 に答える
0

私も同じ経験をしましたが、それはレポートを間違った場所から見ようとしたためです。説明させてください。

  • RDLC レポートに dataSet があります
  • DALにはdbからデータを取得するメソッドがあります
  • BAL または UI には、DAL メソッドを呼び出してデータセットを埋めるメソッドがあります。ほとんどの場合、これはユーザーからパラメーターを取得してデータセットを埋め、最終的にユーザーをレポート ビューアー ページにリダイレクトする固有のページです。
  • レポート ビューアー ページにエラーが表示されます

したがって、次のことが起こる可能性があります

  • データセットを入力せずにレポートビューアページに直接入力します
  • 正しいページに移動してデータセットを入力しましたが、レポート ビューアーのページでコード ビハインドでデータセットをレポートにバインドしませんでした。
  • 場合によっては、セッションの期限切れが原因である可能性があります。
于 2010-05-11T06:15:05.360 に答える