источник данных для управления средством просмотра отчетов в WPF - PullRequest
2 голосов
/ 07 июля 2011

У меня есть элемент управления ReportViewer в теге WindowsFormsHost в моем приложении WPF. Когда я использую этот код:

    rptViewer1.LocalReport.ReportPath = ...

    List<ReportParameter> parms = new List<ReportParameter>();
    parms.Add(new ReportParameter("regionID", "01"));
    rptViewer1.LocalReport.SetParameters(parms);

    rptViewer1.RefreshReport();

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

var dt = DAL.GetData()
var rds = new ReportDataSource("DataSet1", dt);
rptViewer1.LocalReport.DataSources.Add(rds);

И это приведет к отображению отчета, но затем я передаю свои параметры методу GetData (), а не отчету; это не кажется правильным. В моем проекте SSRS я использую общий источник данных, и он позволяет мне передавать параметры в интерфейсе отчета, как я и ожидал. Что я делаю не так?

1 Ответ

1 голос
/ 02 декабря 2011

Если вы используете ProcessingMode = Local, ВЫ несете ответственность за большую часть отчета. Вы или ваше приложение определили, какие параметры есть, как загружаются данные и что делают подотчет или детализация событий. Вы должны явно их кодировать. Если ProcessingMode = Remote, то все эти элементы обрабатываются сервером отчетов. Microsoft не очень четко объясняет это в MSDN, но я вижу их оправдание «если вы собираетесь разместить отчет в своем приложении, вы можете нести ответственность за все детали».

...