Freigeben über


LocalReport-Klasse

Stellt einen Bericht dar, der lokal verarbeitet und gerendert wird, ohne eine Verbindung mit einem Berichtsserver herzustellen.

Namespace: Microsoft.Reporting.WebForms
Assembly: Microsoft.ReportViewer.WebForms (in microsoft.reportviewer.webforms.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 Datenstrom oder als 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.

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

Vererbungshierarchie

System.Object
   Microsoft.Reporting.WebForms.Report
    Microsoft.Reporting.WebForms.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.WebForms-Namespace