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.

Siehe auch

Referenz

LocalReport-Member
Microsoft.Reporting.WinForms-Namespace