Fahid Zahoor Ответов: 1

Проблема просмотра отчетов в vs 2017


hi every one when i try to 
drag and drop report viewer in form then report viewer are not display on form.
report view are show on the bottom of the page.


затем я нашел 1 решение этой проблемы и вручную добавил средство просмотра отчетов в форму с помощью кода.
но теперь я не знаю, как я могу показать свой отчет rdlc на этом средстве просмотра отчетов.
пожалуйста, кто-нибудь подскажет мне, как я могу показать свой Report1.rdlc в ReportViewer1.
если у вас есть какой-либо пример кода, пожалуйста, пришлите мне спасибо.

Что я уже пробовал:

я использую этот код для события загрузки формы

ReportParameterCollection rpera = new ReportParameterCollection();
           rpera.Add(new ReportParameter("Pname", "Its first Report"));
           this.reportViewer1.LocalReport.SetParameters(rpera);
           this.reportViewer1.RefreshReport();

Gerry Schmitz

Где та часть, где вы "привязываетесь к источнику данных"?

Fahid Zahoor

в этот момент нет никакого источника данных, который я связываю. я просто показываю "свой первый отчет" в моем отчете rdlc.

Fahid Zahoor

пожалуйста, скажите мне, как id может отображать мой Report1.rdl в ReportViewer1

1 Ответов

Рейтинг:
1

alexvw

всем привет,

Может быть, я и ошибаюсь, но ... .УДР файлы принадлежат службам SQL Reporting Services (SSRS), а ReportViewer-это элемент управления winforms/webforms, который обрабатывает .с отчетами файлы. Похоже, что ваш пример кода принадлежит веб-форме.

Как уже упоминалось, большая часть требуемого кода для обоих winforms/webforms в основном одинакова, но есть некоторые незначительные различия, которые нельзя игнорировать.

Пример веб-формы(rptVwr - это имя, которое я дал элементу управления ReportViewer):

DataSet ds = Your method to get the required data;

            rptVwr.ProcessingMode = ProcessingMode.Local;
            rptVwr.LocalReport.EnableExternalImages = true;
            rptVwr.LocalReport.ReportPath = "Reports/DTE.rdlc";
            rptVwr.LocalReport.DataSources.Clear();
            rptVwr.LocalReport.DataSources.Add(new ReportDataSource("Dcto", ds.Tables[0]));
            rptVwr.LocalReport.DataSources.Add(new ReportDataSource("Events", ds.Tables[1]));
            rptVwr.LocalReport.DataSources.Add(new ReportDataSource("AuxData", ds.Tables[2]));
            rptVwr.LocalReport.Refresh();


Приложения WinForms пример (RepVwer такое название я дала, чтобы элемент управления reportviewer ):
... DataSet ds = here goes your method to get the required data;

RepVwer.ProcessingMode = ProcessingMode.Local;
                RepVwer.LocalReport.ReportEmbeddedResource = "DTEViewer.rdlc.DTE.rdlc";

                RepVwer.LocalReport.DataSources.Clear();
                RepVwer.LocalReport.DataSources.Add(new ReportDataSource("IdDoc", ds.Tables[0]));
                RepVwer.LocalReport.DataSources.Add(new ReportDataSource("Emi", ds.Tables[1]));
                RepVwer.LocalReport.DataSources.Add(new ReportDataSource("Recep", ds.Tables[2]));
                RepVwer.LocalReport.DataSources.Add(new ReportDataSource("Details", ds.Tables[3]));
                RepVwer.LocalReport.DataSources.Add(new ReportDataSource("Totals", ds.Tables[4]));
                this.RepVwer.RefreshReport();

Если вам нужно передать параметры в отчет, создайте массив, назначьте все необходимые значения и добавьте его в отчет:
ReportParameter[] repParams = new ReportParameter[3];
repParams[0] = new ReportParameter("MyParam1", "false");
repParams[1] = new ReportParameter("MyParam2", nroOper);
repParams[2] = new ReportParameter("MyParam3", "blah, blah, blah!");
LocReport.LocalReport.SetParameters(repParams);

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

Надеюсь, это поможет; ура!