Condividi tramite


Classe LocalReport

Rappresenta un report di cui vengono eseguiti l'elaborazione e il rendering a livello locale senza connettersi a un server di report.

Spazio dei nomi: Microsoft.Reporting.WinForms
Assembly: Microsoft.ReportViewer.WinForms (in microsoft.reportviewer.winforms.dll)

Sintassi

'Dichiarazione
<SerializableAttribute> _
Public NotInheritable Class LocalReport
    Inherits Report
    Implements ISerializable
'Utilizzo
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

Note

La classe LocalReport rappresenta i report di cui vengono eseguiti l'elaborazione e il rendering a livello locale senza connettersi a un server di report. Questa classe corrisponde all'oggetto utilizzato dal controllo ReportViewer, ma è inoltre possibile utilizzarla in modo indipendente come oggetto non visivo che incapsula le funzionalità principali di tale controllo.

L'oggetto LocalReport consente di aprire i file di definizione del report del client (con estensione rdlc) dal file system. In alternativa, è possibile specificare il file rdlc per tale oggetto come Stream o TextReader.

L'oggetto LocalReport non consente il recupero di dati o l'esecuzione di query. È necessario specificare i dati per l'oggetto come istanze di DataTables di ADO.NET o come insieme di oggetti business.

L'oggetto LocalReport supporta i parametri di report ma non i parametri di query.

Esempio

Nel frammento di codice seguente viene utilizzato un oggetto LocalReport per il caricamento e l'esportazione di un report.

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

Gerarchia di ereditarietà

System.Object
   Microsoft.Reporting.WinForms.Report
    Microsoft.Reporting.WinForms.LocalReport

Protezione dei thread

Qualsiasi membro statico pubblico (Condiviso in Visual Basic) di questo tipo presenterà la protezione dei thread. Non è garantito che qualsiasi membro di istanza presenterà la protezione dei thread.

Vedere anche

Riferimento

Membri LocalReport
Spazio dei nomi Microsoft.Reporting.WinForms