Metodo ReportDocument.OpenSubReport

Apre un sottoreport contenuto nel report e restituisce un oggetto ReportDocument corrispondente al report menzionato.

[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 );

Parametri

  • subreportName
    Indica il nome del sottoreport da aprire.

Valore restituito

Restituisce un ReportDocument separato che rappresenta il sottoreport.

Note

Passare il valore della proprietà SubreportName di SubreportObject come parametro subreportName.

Ai fini della formattazione, visualizzazione di anteprime, stampa ed esportazione utilizzare il sottoreport come un report.

Esempio

Nel seguente esempio vengono illustrati l'apertura e la visualizzazione di un'anteprima di un sottoreport.

[Visual Basic]

Private Sub OpenSubreport(ByVal reportObjectName As String)
   Dim subreportName As String
   Dim subreportObject As SubreportObject
   Dim subreport As New ReportDocument()

   ' Individua ReportObject in base al nome e lo imposta come 
   '  SubreportObject.
   If TypeOf (Report.ReportDefinition.ReportObjects. _
   Item(reportObjectName)) Is SubreportObject Then
      subreportObject = Report.ReportDefinition.ReportObjects. _
      Item(reportObjectName)
     ' Individua il nome del sottoreport.
      subreportName = subreportObject.SubreportName
      ' Apre il sottoreport come un ReportDocument.
      subreport = Report.OpenSubreport(subreportName)
      ' Visualizza un'anteprima del report.
      crystalReportViewer1.ReportSource = subreport
   End If
End Sub

[C#]

private void OpenSubreport(string reportObjectName)
{
   string subreportName;
   SubreportObject subreportObject;
   ReportDocument subreport = new ReportDocument();

   // Individua ReportObject in base al nome e lo imposta come 
   //  SubreportObject.
   subreportObject = Report.ReportDefinition.ReportObjects
   [reportObjectName] as SubreportObject;
   if (subreportObject != null)
   {
      // Individua il nome del sottoreport.
      subreportName = subreportObject.SubreportName;
      // Apre il sottoreport come un ReportDocument.
      subreport = Report.OpenSubreport(subreportName);
      // Visualizza un'anteprima del report.
      crystalReportViewer1.ReportSource = subreport;
   }
} 

[C++]

void OpenSubreport(String* reportObjectName)
{
   String* subreportName;
   SubreportObject* subreportObject;
   ReportDocument* subreport = new ReportDocument();

   // Individua ReportObject in base al nome e lo imposta come 
   //  SubreportObject.
   try
   {
      subreportObject = __try_cast<SubreportObject*>
      (Report->ReportDefinition->
      ReportObjects->Item[reportObjectName]);
      // Individua il nome del sottoreport.
      subreportName = subreportObject->SubreportName;
      // Apre il sottoreport come un ReportDocument.
      subreport = Report->OpenSubreport(subreportName);
      // Visualizza un'anteprima del report.
      crystalReportViewer1->ReportSource = subreport;      
   }
   catch(System::InvalidCastException*)
   {
      // Aggiungere il codice dell'errore.
   }
};

[VJ#]

private void OpenSubreport(String reportObjectName)
{
   String subreportName;
   SubreportObject subreportObject;
   ReportDocument subreport = new ReportDocument();

   // Individua ReportObject in base al nome e lo imposta come 
   //  SubreportObject.
   subreportObject = (SubreportObject)
   Report.get_ReportDefinition().get_ReportObjects().get_Item
   (reportObjectName);
   if (subreportObject != null)
   {
      // Individua il nome del sottoreport.
      subreportName = subreportObject.get_SubreportName();
      // Apre il sottoreport come un ReportDocument.
      subreport = Report.OpenSubreport(subreportName);
      // Visualizza un'anteprima del report.
      crystalReportViewer1.set_ReportSource(subreport);
   }
} 

Requisiti

Spazio dei nomi: CrystalDecisions.CrystalReports.Engine

Piattaforme: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP

Vedere anche

Classe ReportDocument | Membri ReportDocument | Spazio dei nomi CrystalDecisions.CrystalReports.Engine