Antwort(en)
Um Subreports einsetzen zu können sind folgende Schritte notwendig:
- In der Daylight “Report-Verwaltung” muss ein Subreport erzeugt werden. (Klasse kann vom Mainreport abweichen)
- Subreport mit den gewünschten Controls usw. füllen. Anschliessend als “.repx”-Datei speichern.
- Im Mainreport ein Control vom Typ “Unterbericht” an die gewünschte Position bringen. Als “Bericht Quelle Url” die “.repx”-Datei des Subreports auswählen. Nun ist der Subreport integriert, es muss nur noch dessen Datenquelle gesetzt werden.
- Im “BeforePrint”-Event des Mainreports muss die Datenquelle des Subreports gesetzt werden. Dies geht im einfachsten Fall, gleiche Klasse, folgendermassen:
SUBREPORT.ReportSource.DataSource = MAINREPORT.DataSource;
Für den Fall, dass die Klasse des Subreports eine andere ist, z.B. Funktionäre im Subreport und Event im Mainreport, kann dies wie folgt gelöst werden:var mainSource = MAINREPORT.DataSource as MetaBindingList<IMetaWritable>; SUBREPORT.ReportSource.DataSource = (mainSource[0] as Event).EventFunctionaries;
Verwandte Artikel