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