Динамическая настройка ReportViewer - PullRequest
1 голос
/ 17 декабря 2009

Я хочу динамически настроить ReportViewer во время выполнения на странице веб-формы. Мой ReportViewer выглядит так на странице aspx ...

<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana"
                    Font-Size="8pt" Height="90%"
                    Width="100%" OnReportError="ReportViewer1_ReportError">
</rsweb:ReportViewer>

Мой класс выглядит так ...

namespace S43G.CV
{
    [Serializable]
    public class CaseLoadForecastReportResultCV
    {
        public  Int64 M3Fe { get; set; }
        public  Int64 M3Grad { get; set; }
        public  Int64 M6Grad { get; set; }
        public  Int64 M12Grad { get; set; }
        public  Int64 Total { get; set; }
        public  Int64 GroupPart { get; set; }
        public  Int64 Year { get; set; }
    }
}

В коде ниже я делаю следующее, чтобы запустить ReportViewer…

// get a list from db
List<CaseLoadForecastReportResultCV> answer = svyCaseBllHdl.GetCaseLoadForcastReport(userInput);    
// Reset the ReportViewer
ReportViewer1.Reset();
ReportViewer1.LocalReport.Dispose();
ReportViewer1.LocalReport.DataSources.Clear();

// build the Report Data Source
ReportDataSource rds = new ReportDataSource("S43G_CV_CaseLoadForecastReportResultCV", answer);

// set new values for ReportViewer
ReportViewer1.LocalReport.ReportPath = "S4_Reports/CaseLoadForecast.rdlc";
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();

Ошибка Я получаю следующее:

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

Любая помощь будет отличной.

1 Ответ

1 голос
/ 19 декабря 2009

Имя вашего источника данных в вашем RDLC CaseLoadForecastReportResultCV, у вас есть некоторые дополнительные элементы, добавленные в начале его имени. Если вы просто измените свой код на этот

ReportDataSource rds = new ReportDataSource("CaseLoadForecastReportResultCV", answer);

Это должно работать. RDLC - это XML, и его легко читать, вы можете прочитать в нем раздел источников данных или загрузить отчет в Visual Studio и, сосредоточившись на конструкторе отчетов, перейти в меню «Отчет» и выбрать «Источники данных», чтобы увидеть все имена ваших источников данных. 1007 *

...