Classe LocalReport
Represents a report that is processed and rendered locally without connecting to a report server.
Espace de noms: Microsoft.Reporting.WebForms
Assembly: Microsoft.ReportViewer.WebForms (dans microsoft.reportviewer.webforms.dll)
Syntaxe
Notes
The LocalReport class represents reports that are processed and rendered locally without connecting to a report server. This class is the same object that is used by the ReportViewer control, but it also can be used independently as a non-visual object that encapsulates the core functionality of the ReportViewer control.
The LocalReport object can open client report definition (RDLC) files from the file system, or the RDLC file can be supplied to it as a Stream or a TextReader.
The LocalReport object does not have the ability to execute queries or fetch data; instead data must be supplied to it as instances of ADO.NET DataTables or as a collection of business objects.
The LocalReport object supports report parameters, but does not support query parameters.
Important
In contrast to the Windows Forms version of the ReportViewer control, the WebForm version does not support changing the report definition after it has been rendered. To change the report definition, you will have to create a new instance of the ReportViewer control.
Exemple
In the following code example, a LocalReport object is used to load and export a report.
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
Hiérarchie d'héritage
System.Object
Microsoft.Reporting.WebForms.Report
Microsoft.Reporting.WebForms.LocalReport
Sécurité des threads
Tous les membres publics statiques (Partagés dans Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Membres LocalReport
Espace de noms Microsoft.Reporting.WebForms