Поделиться через


Класс LocalReport

Представляет отчет, который обрабатывается и готовится к просмотру локально, без соединения с сервером отчетов.

Пространство имен: Microsoft.Reporting.WebForms
Сборка: Microsoft.ReportViewer.WebForms (в microsoft.reportviewer.webforms.dll)

Синтаксис

'Декларация
'Применение

Замечания

Класс LocalReport представляет отчеты, которые обрабатываются и готовятся к просмотру локально, без соединения с сервером отчетов. Этот класс представляет объект, который используется элементом управления ReportViewer, но его можно использовать и независимо, в качестве объекта без визуального представления, содержащего основные функциональные возможности элемента управления ReportViewer.

Объект LocalReport может открывать клиентские RDLC-файлы из файловой системы или получать их как объекты Stream или TextReader.

Объект LocalReport не может выполнять запросы или делать выборку данных; данные для этого объекта должны быть предоставлены в виде экземпляров ADO.NET DataTables или коллекций бизнес-объектов.

Объект LocalReport поддерживает параметры отчета, но не поддерживает параметры запроса.

NoteВнимание!

В противоположность версии Windows Forms элемента управления ReportViewer, версия WebForm не поддерживает изменение определения отчета после его подготовки к просмотру. Чтобы изменить определение отчета, необходимо создать новый экземпляр элемента управления ReportViewer.

Примеры

В следующем примере кода объект LocalReport используется для загрузки и экспорта отчета.

protected void Button1_Click(object sender, EventArgs e)
{

   Microsoft.Reporting.WebForms.LocalReport lr = 
     new Microsoft.Reporting.WebForms.LocalReport();

   string deviceInfo =
     "<DeviceInfo>" +
     "<SimplePageHeaders>True</SimplePageHeaders>" + 
     "</DeviceInfo>";

   lr.ReportPath = @"C:\My Reports\Monthly Sales.rdlc";

   lr.DataSources.Add(new ReportDataSource("Sales", GetSalesData()));

   byte[] bytes = lr.Render("Excel", deviceInfo, out mimeType, 
     out encoding, out streamids, out warnings);

      using (FileStream fs = new FileStream(@"c:\My Reports\Monthly Sales.xls", FileMode.Create))
      {
        fs.Write(bytes, 0, bytes.Length);
        fs.Close();
      }
}
Protected Sub Button1_Click(ByVal sender As Object, _
   ByVal e As System.EventArgs) Handles Button1.Click
   Dim warnings As Warning() = Nothing
   Dim streamids As String() = Nothing
   Dim mimeType As String = Nothing
   Dim encoding As String = Nothing
   Dim extension As String = Nothing
   Dim deviceInfo as string
   Dim bytes As Byte()

   Dim lr As New Microsoft.Reporting.WebForms.LocalReport

   lr.ReportPath = "C:\My Reports\Monthly Sales.rdlc"

   lr.DataSources.Add(New ReportDataSource("Sales", GetSalesData()))

   deviceInfo = _
"<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>"

   bytes = ReportViewer1.LocalReport.Render("Excel", deviceInfo,_
      mimeType, encoding, extension, streamids, warnings)

   Dim fs As New FileStream("c:\output.xls", FileMode.Create)
   fs.Write(bytes, 0, bytes.Length)
   fs.Close()

End Sub

Иерархия наследования

System.Object
   Microsoft.Reporting.WebForms.Report
    Microsoft.Reporting.WebForms.LocalReport

Многопоточное использование

Все общие статические члены (Shared в Visual Basic) можно использовать в многопоточных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

См. также

Справочник

Члены LocalReport
Пространство имен Microsoft.Reporting.WebForms