Lição 3: Carregar uma definição de relatório do Servidor de Relatório
Depois que você criar seu projeto e gerar as classes do esquema RDL, estará pronto para carregar uma definição de relatório do servidor de relatório.
Para carregar uma definição de relatório
Adicione um campo privado no início da classe ReportUpdater (ou módulo se você estiver usando o Visual Basic) para a classe Report. Este campo será usado para manter uma referência ao relatório carregado do servidor de relatório enquanto durar o aplicativo.
private Report _report;
Private m_report As Report
Substitua o código para o método LoadReportDefinition() no arquivo Program.cs (Module1.vb para o Visual Basic) pelo seguinte código:
private void LoadReportDefinition() { System.Console.WriteLine("Loading Report Definition"); string reportPath = "/AdventureWorks 2012 Sample Reports/Company Sales 2012"; // 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 2012 Sample Reports/Company Sales 2012" '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
Próxima lição
Na próxima lição, você escreverá código para atualizar a definição de relatório carregada do servidor de relatório. Consulte Lição 4: Atualizar a definição do relatório programaticamente.
Consulte também
Tarefas
Atualizando Relatórios por Meio de Classes Geradas a Partir do Esquema RDL (Tutorial SSRS)