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