Clase LocalReport

Representa un informe que se procesa y se representa localmente sin conectarse a un servidor de informes.

Espacio de nombres: Microsoft.Reporting.WebForms
Ensamblado: Microsoft.ReportViewer.WebForms (en microsoft.reportviewer.webforms.dll)

Sintaxis

'Declaración
<SerializableAttribute> _
Public NotInheritable Class LocalReport
    Inherits Report
    Implements ISerializable
'Uso
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

Comentarios

La clase LocalReport representa los informes que se procesan y se representan localmente sin conectarse a un servidor de informes. Esta clase es el mismo objeto que utiliza el control ReportViewer, pero también se puede utilizar independientemente como un objeto no visual que encapsula la principal funcionalidad del control ReportViewer.

El objeto LocalReport puede abrir los archivos de definición de informes de cliente (RDLC) desde el sistema de archivos, o el archivo RDLC puede suministrarse como Stream o TextReader.

El objeto LocalReport no posee la capacidad para ejecutar consultas o capturar datos, sino que los datos deben suministrarse como instancias de DataTables de ADO.NET o como una colección de objetos empresariales.

El objeto LocalReport admite el uso de parámetros de informe, pero no parámetros de consulta.

Ejemplo

En el siguiente fragmento de código, se utiliza un objeto LocalReport para cargar y exportar un informe.

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

Jerarquía de herencia

System.Object
   Microsoft.Reporting.WebForms.Report
    Microsoft.Reporting.WebForms.LocalReport

Seguridad de subprocesos

Todos los miembros estáticos (compartidos en Visual Basic) públicos de este tipo tienen subprocesos seguros. Los miembros de ninguna instancia tienen la garantía de que los subprocesos sean seguros.

Consulte también

Referencia

Miembros LocalReport
Espacio de nombres Microsoft.Reporting.WebForms