none
Report Viewer 2010 не отображает "Доступные наборы данных" RRS feed

  • Вопрос

  • Добрый день!

    Пишу на WPF, использую MVVM. Во ViewModel имеются несколько List<>. Не могу понять почему Report Viewer не отображаются эти List<> списке "Доступные наборы данных"?

    18 февраля 2013 г. 7:19

Ответы

  • Собственно почти так и делал:

                        Microsoft.Reporting.WinForms.ReportDataSource reportDataSource1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                        reportDataSource1.Name = "HotWaterOnceDataSet";
                        reportDataSource1.Value = ТаблицаНагретойВодыПоУзлу;
                        List<ReportParameter> paramList = new List<ReportParameter>();
                        paramList.Add(new ReportParameter("ReportParameter1", ((DevaceParametr)param).description));
                        paramList.Add(new ReportParameter("ReportParameter2", ConvertSelectedPeriod(SelectTimeHotWater, HotWaterDateTable, HotWaterDateTableEnd)));
    
                        ReportShow data = new Models.ReportShow();
    
                        data.RData = reportDataSource1;
                        data.ReportResource = "Rashodomeri.Models.Reports.HotWaterReport.rdlc";
    
                        data.Parametri = paramList;
                        Reporting = data;

    Проблему решил ручным редактированием файла HotWaterReport.rdlc:

    • Помечено в качестве ответа salaga_maximys 18 февраля 2013 г. 9:36
    18 февраля 2013 г. 8:29

Все ответы

  • В список "Доступные наборы данных" попадают только классы(типы данных), но никак не объекты или свойства.

    Конкретный набор объектов(ваши List<T>) передается при помощи Класса ReportDataSource

    К примеру, для того чтобы отобразить отчет по ТаблицаНагретойВодыПоУзлу необходимо выбрать в доступных наборах данных класс TableOnceUsel. И заполнить этот Датасет таким образом:

    var ds = new Microsoft.Reporting.WinForms.ReportDataSource("dataSetName", ТаблицаНагретойВодыПоУзлу); this.reportViewer.LocalReport.DataSources.Add(ds);

    this.reportViewer.RefreshReport();





    18 февраля 2013 г. 7:41
  • Собственно почти так и делал:

                        Microsoft.Reporting.WinForms.ReportDataSource reportDataSource1 = new Microsoft.Reporting.WinForms.ReportDataSource();
                        reportDataSource1.Name = "HotWaterOnceDataSet";
                        reportDataSource1.Value = ТаблицаНагретойВодыПоУзлу;
                        List<ReportParameter> paramList = new List<ReportParameter>();
                        paramList.Add(new ReportParameter("ReportParameter1", ((DevaceParametr)param).description));
                        paramList.Add(new ReportParameter("ReportParameter2", ConvertSelectedPeriod(SelectTimeHotWater, HotWaterDateTable, HotWaterDateTableEnd)));
    
                        ReportShow data = new Models.ReportShow();
    
                        data.RData = reportDataSource1;
                        data.ReportResource = "Rashodomeri.Models.Reports.HotWaterReport.rdlc";
    
                        data.Parametri = paramList;
                        Reporting = data;

    Проблему решил ручным редактированием файла HotWaterReport.rdlc:

    • Помечено в качестве ответа salaga_maximys 18 февраля 2013 г. 9:36
    18 февраля 2013 г. 8:29