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


Класс LocalReport

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

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

Синтаксис

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

Замечания

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

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

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

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

Примеры

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

private void button1_Click(object sender, EventArgs e)
{

   Microsoft.Reporting.WinForms.LocalReport lr = new Microsoft.Reporting.WinForms.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();
      }
}
Private Sub Button1_Click(ByVal sender As System.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()

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

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

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

   MessageBox.Show("Report exported to output.xls", "Info")
End Sub

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

System.Object
   Microsoft.Reporting.WinForms.Report
    Microsoft.Reporting.WinForms.LocalReport

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

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

См. также

Справочник

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