Método ReportDocument.OpenSubReport
Abre un subinforme contenido en el informe y devuelve un objeto ReportDocument correspondiente al subinforme mencionado.
[Visual Basic]
Public Overridable Function OpenSubreport(ByVal subreportName As String) As ReportDocument
[C#]
public virtual ReportDocument OpenSubreport (string subreportName );
[C++]
public virtual ReportDocument * OpenSubreport (String* subreportName);
[VJ#]
public ReportDocument OpenSubreport (string subreportName );
Parámetros
- subreportName
Indica el nombre del subinforme que se va a abrir.
Valor devuelto
Devuelve un objeto ReportDocument independiente que representa el subinforme.
Observaciones
Pasa el valor desde la Propiedad SubreportName de SubreportObject como el parámetro subreportName.
Trate el subinforme como informe con fines de formato, vista previa, impresión y exportación.
Ejemplo
El siguiente ejemplo abre y muestra una vista previa del subinforme.
[Visual Basic]
Private Sub OpenSubreport(ByVal reportObjectName As String)
Dim subreportName As String
Dim subreportObject As SubreportObject
Dim subreport As New ReportDocument()
' Obtener ReportObject por nombre y proyectarlo como
' SubreportObject.
If TypeOf (Report.ReportDefinition.ReportObjects. _
Item(reportObjectName)) Is SubreportObject Then
subreportObject = Report.ReportDefinition.ReportObjects. _
Item(reportObjectName)
' Obtener el nombre de subinforme.
subreportName = subreportObject.SubreportName
' Abrir el subinforme como ReportDocument.
subreport = Report.OpenSubreport(subreportName)
' Obtener una vista previa del subinforme.
crystalReportViewer1.ReportSource = subreport
End If
End Sub
[C#]
private void OpenSubreport(string reportObjectName)
{
string subreportName;
SubreportObject subreportObject;
ReportDocument subreport = new ReportDocument();
// Obtener ReportObject por nombre y proyectarlo como
// SubreportObject.
subreportObject = Report.ReportDefinition.ReportObjects
[reportObjectName] as SubreportObject;
if (subreportObject != null)
{
// Obtener el nombre de subinforme.
subreportName = subreportObject.SubreportName;
// Abrir el subinforme como ReportDocument.
subreport = Report.OpenSubreport(subreportName);
// Obtener una vista previa del subinforme.
crystalReportViewer1.ReportSource = subreport;
}
}
[C++]
void OpenSubreport(String* reportObjectName)
{
String* subreportName;
SubreportObject* subreportObject;
ReportDocument* subreport = new ReportDocument();
// Obtener ReportObject por nombre y proyectarlo como
// SubreportObject.
try
{
subreportObject = __try_cast<SubreportObject*>
(Report->ReportDefinition->
ReportObjects->Item[reportObjectName]);
// Obtener el nombre de subinforme.
subreportName = subreportObject->SubreportName;
// Abrir el subinforme como ReportDocument.
subreport = Report->OpenSubreport(subreportName);
// Obtener una vista previa del subinforme.
crystalReportViewer1->ReportSource = subreport;
}
catch(System::InvalidCastException*)
{
// Agregar código de error.
}
};
[VJ#]
private void OpenSubreport(String reportObjectName)
{
String subreportName;
SubreportObject subreportObject;
ReportDocument subreport = new ReportDocument();
// Obtener ReportObject por nombre y proyectarlo como
// SubreportObject.
subreportObject = (SubreportObject)
Report.get_ReportDefinition().get_ReportObjects().get_Item
(reportObjectName);
if (subreportObject != null)
{
// Obtener el nombre de subinforme.
subreportName = subreportObject.get_SubreportName();
// Abrir el subinforme como ReportDocument.
subreport = Report.OpenSubreport(subreportName);
// Obtener una vista previa del subinforme.
crystalReportViewer1.set_ReportSource(subreport);
}
}
Requisitos
Espacio de nombres: CrystalDecisions.CrystalReports.Engine
Plataformas: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP
Vea también
Clase ReportDocument | Miembros de ReportDocument | Espacio de nombres CrystalDecisions.CrystalReports.Engine