LocalReport-Klasse
Stellt einen Bericht dar, der lokal verarbeitet und gerendert wird, ohne eine Verbindung mit einem Berichtsserver herzustellen.
Namespace: Microsoft.Reporting.WinForms
Assembly: Microsoft.ReportViewer.WinForms (in microsoft.reportviewer.winforms.dll)
Syntax
'Declaration
<SerializableAttribute> _
Public NotInheritable Class LocalReport
Inherits Report
Implements ISerializable
'Usage
Dim instance As LocalReport
[SerializableAttribute]
public sealed class LocalReport : Report, ISerializable
[SerializableAttribute]
public ref class LocalReport sealed : public Report, ISerializable
/** @attribute SerializableAttribute() */
public final class LocalReport extends Report implements ISerializable
SerializableAttribute
public final class LocalReport extends Report implements ISerializable
Hinweise
Die LocalReport-Klasse stellt Berichte dar, die lokal verarbeitet und gerendert werden, ohne eine Verbindung mit einem Berichtsserver herzustellen. Bei dieser Klasse handelt es sich um das gleiche Objekt, das vom ReportViewer-Steuerelement verwendet wird, doch kann es auch als unabhängiges, nicht visuelles Objekt verwendet werden, das die Kernfunktionen des ReportViewer-Steuerelements kapselt.
Das LocalReport-Objekt kann Client-Berichtsdefinitionsdateien (RDLC-Dateien) aus dem Dateisystem öffnen, oder die RDLC-Datei kann dem Objekt als Stream oder TextReader bereitgestellt werden.
Das LocalReport-Objekt ist nicht mit der Funktionalität zum Ausführen von Abfragen oder Abrufen von Daten ausgestattet. Stattdessen müssen Daten als ADO.NET DataTables-Instanzen oder als Auflistung von Geschäftsobjekten bereitgestellt werden.
Das LocalReport-Objekt unterstützt Berichtsparameter, es unterstützt jedoch keine Abfrageparameter.
Beispiel
Im folgenden Codeausschnitt wird mithilfe eines LocalReport-Objekts ein Bericht geladen und exportiert.
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
Vererbungshierarchie
System.Object
Microsoft.Reporting.WinForms.Report
Microsoft.Reporting.WinForms.LocalReport
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanz-Membern ist die Threadsicherheit nicht gewährleistet.