Класс LocalReport
Представляет отчет, который обрабатывается и готовится к просмотру локально, без соединения с сервером отчетов.
Пространство имен: Microsoft.Reporting.WebForms
Сборка: Microsoft.ReportViewer.WebForms (в microsoft.reportviewer.webforms.dll)
Синтаксис
'Декларация
'Применение
Замечания
Класс LocalReport представляет отчеты, которые обрабатываются и готовятся к просмотру локально, без соединения с сервером отчетов. Этот класс представляет объект, который используется элементом управления ReportViewer, но его можно использовать и независимо, в качестве объекта без визуального представления, содержащего основные функциональные возможности элемента управления ReportViewer.
Объект LocalReport может открывать клиентские RDLC-файлы из файловой системы или получать их как объекты Stream или TextReader.
Объект LocalReport не может выполнять запросы или делать выборку данных; данные для этого объекта должны быть предоставлены в виде экземпляров ADO.NET DataTables или коллекций бизнес-объектов.
Объект LocalReport поддерживает параметры отчета, но не поддерживает параметры запроса.
Внимание! |
---|
В противоположность версии 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