Класс 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