RDLC Report Viewer Детализация через отчет - PullRequest
0 голосов
/ 11 мая 2010

Я разместил этот вопрос на форуме MSDN

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

Но я не получаю никакого ответа. Не могли бы вы мне помочь. Я действительно застрял с этой довольно простой задачей.

Мой код кажется правильным, но я все равно получаю

Экземпляр источника данных не был предоставлен для источника данных 'DataSet1_Order_Details'.

Извините за кросс-пост ...

Ответы [ 3 ]

0 голосов
/ 12 мая 2010

Я решил ошибку.

Я добавлял источник данных, как

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.

С уважением, Абхишек

0 голосов
/ 10 января 2012

Это сработало и для меня, хотя реальный ключ был здесь:

((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);

Обозреватель отчетов обрабатывает все остальное.@ Знает не так много, спасибо за лидерство.

0 голосов
/ 11 мая 2010

У меня был такой же опыт, и это потому, что я пытаюсь просмотреть отчет не в том месте, позвольте мне объяснить

  • В отчетах RDLC есть набор данных
  • В DAL есть метод, который получает данные из db
  • В BAL или UI существует метод, который вызывает метод DAL и заполняет набор данных. В большинстве случаев это уникальная страница, которая получает некоторый параметр от пользователя, заполняет набор данных и, наконец, перенаправляет пользователя на страницу просмотра отчетов.
  • Ваша ошибка появляется на странице просмотра отчетов

Так может произойти следующее

  • вы входите непосредственно на страницу просмотра отчетов без заполнения набора данных
  • Вы перешли на правильную страницу и заполнили набор данных, но страница средства просмотра отчетов не смогла связать свой набор данных с отчетом в коде позади.
  • в некоторых случаях это может быть связано с истечением срока действия сессии.
...