Partager via


Classe LocalReport

Représente un rapport traité et rendu localement sans connexion à un serveur de rapports.

Espace de noms: Microsoft.Reporting.WebForms
Assembly: Microsoft.ReportViewer.WebForms (dans microsoft.reportviewer.webforms.dll)

Syntaxe

'Déclaration
<SerializableAttribute> _
Public NotInheritable Class LocalReport
    Inherits Report
    Implements ISerializable
'Utilisation
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

Remarques

La classe LocalReport représente les rapports traités et rendus localement sans connexion à un serveur de rapports. Cette classe correspond à l'objet utilisé par le contrôle ReportViewer, mais elle peut également être utilisée indépendamment comme objet non visuel qui encapsule les fonctionnalités de base du contrôle ReportViewer.

L'objet LocalReport peut ouvrir les fichiers de définition de rapport client (RDLC) sur le système de fichiers, ou bien le fichier RDLC peut être fourni en tant qu'objet Stream ou TextReader.

L'objet LocalReport ne peut pas exécuter de requêtes ni extraire des données. Au lieu de cela, les données doivent être fournies en tant qu'instances de ADO.NET DataTables ou en tant que collection d'objets d'entreprise.

L'objet LocalReport prend en charge les paramètres de rapport, mais pas les paramètres de requête.

Exemple

Dans l'extrait de code suivant, un objet LocalReport est utilisé pour charger et exporter un rapport.

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 statiques publics (Shared dans Visual Basic) de ce type sont thread-safe. Il n'existe aucune garantie que les membres de l'instance soient thread-safe.

Voir aussi

Référence

Membres LocalReport
Espace de noms Microsoft.Reporting.WebForms