Занятие 3. Загрузка определения отчета с сервера отчетов
После создания проекта и формирования классов из схемы языка определения отчетов необходимо загрузить определение отчета с сервера отчетов.
Загрузка определения отчета
Добавьте закрытое поле в верхней части класса ReportUpdater (модуля, если используется язык Visual Basic) для класса Отчет. Это поле будет использоваться для хранения ссылки на отчет, который загружается с сервера отчетов во время выполнения приложения.
private Report _report;
Private m_report As Report
Замените код метода LoadReportDefinition() в файле Program.cs (Module1.vb для Visual Basic) следующим кодом:
private void LoadReportDefinition() { System.Console.WriteLine("Loading Report Definition"); string reportPath = "/AdventureWorks 2008 Sample Reports/Company Sales 2008"; // Retrieve the report defintion // from the report server byte[] bytes = _reportService.GetItemDefinition(reportPath); if (bytes != null) { XmlSerializer serializer = new XmlSerializer(typeof(Report)); // Load the report bytes into a memory stream using (MemoryStream stream = new MemoryStream(bytes)) { // Deserialize the report stream to an // instance of the Report class _report = (Report)serializer.Deserialize(stream); } } }
Private Sub LoadReportDefinition() System.Console.WriteLine("Loading Report Definition") Dim reportPath As String = _ "/AdventureWorks 2008 Sample Reports/Company Sales 2008" 'Retrieve the report defintion 'from the report server Dim bytes As Byte() = _ m_reportService.GetItemDefinition(reportPath) If Not (bytes Is Nothing) Then Dim serializer As XmlSerializer = _ New XmlSerializer(GetType(Report)) 'Load the report bytes into a memory stream Using stream As MemoryStream = New MemoryStream(bytes) 'Deserialize the report stream to an 'instance of the Report class m_report = CType(serializer.Deserialize(stream), _ Report) End Using End If End Sub
Следующее занятие
На следующем занятии будет создан код для обновления определения отчета, которое было загружено с сервера отчетов. См. раздел Занятие 4. Обновление определения отчета программным способом.
См. также