Wenn Sie angewiesen werden, eine große Anzahl von den Reporten innerhalb desselben Unternehmensstils zu erstellen, haben Sie ein Problem, einige Informationen und Entwurfsstile in jedem Report zu duplizieren. In der Regel haben öffentliche Aufzeichnungen (Dokumente) in einem Unternehmen denselben Titel und dieselben Kontaktinformationen. Angenommen, Sie haben 50 Vorlagen mit denselben Überschriften. Die Adresse des Unternehmens ändert sich jedoch, und Sie sollen jede Vorlage im Editor öffnen und korrigieren. Aber wenn die Vorlagen nicht 50, sondern 100 gleich sind, ist dies ein echtes Problem.
Der Vererbungsmechanismus hilft, dieses Problem zu vermeiden, wenn Sie über eine Vorlage verfügen, die in verschiedenen Reporten verwendet werden kann. Änderungen an dieser Vorlage werden in allen geerbten Reporten berücksichtigt.
Die Reportvererbung in FastReport .NET ist wie folgt organisiert. Vom Anfang an wird ein sogenannter Basisreport erstellt, von dem andere erben werden. Dieser Report sollte eine Vorlage mit Informationen enthalten, die mit allen geerbten Reporten gemeinsam sind. Beispielsweise kann es sich um eine Kopfzeile mit Unternehmensdetails handeln.
Wie oben erwähnt, können Sie die Basisreportvorlage ändern, und dann wird sie in allen geerbten Reporten geändert. Sie können aber auch Informationen aus dem BasisReport im geerbten bearbeiten. Diese Änderungen werden nur in diesem bestimmten Report gespeichert.
Was aber, wenn Sie ein Objekt vom BasisReport in den geerbten geändert und dann dasselbe Objekt im BasisReport geändert haben? In diesem Fall werden Änderungen aus dem BasisReport auf dieses Objekt angewendet, jedoch nur diejenigen, die sich nicht mit Änderungen im geerbten Objekt überschneiden. Wenn Sie beispielsweise die Schriftart im Textobjekt im geerbten Report ändern und dann die Fettschrift für dasselbe Objekt im BasisReport festlegen, werden beide Änderungen angewendet. Wenn Sie auch die Schriftart im BasisReport ändern, wird dies nicht im geerbten Report berücksichtigt, da dieser bereits geändert wurde.
Beachten Sie die Einschränkungen beim Erben eines Reports. Sie können nicht:
Schauen wir uns nun ein Beispiel für die Erstellung eines Legacy-Reports an. Zuerst müssen Sie einen BasisReport erstellen.
Beispielsweise enthält es eine Reportsvorlage mit dem Titel:
Wir speichern diesen Report unter einem Namen, der base enthält. Dies erleichtert das Auffinden unter anderen Reportvorlagen.
Um einen Legacy-Report zu erstellen, sollen Sie den Assistenten für geerbte Reporte verwenden. Es ist entweder im Begrüßungsfenster oder im Fenster zum Erstellen eines neuen Reports verfügbar (Datei-> Neu):
Der Assistent für geerbte Reporte bietet Ihnen nur eine Aktion: Wählen Sie den BasisReport im Dialogfeld "Datei öffnen" aus. Wählen Sie den zuvor erstellten BasisReport aus. Alle Elemente des Reports haben ein Vorhängeschlosssymbol. Dies bedeutet, dass sie von der Basis geerbt werden.
Neu hinzugefügte Objekte haben dieses Symbol nicht mehr. Fügen wir unserem Report eine Datenquelle hinzu und platzieren Sie die Felder im Bereich "Daten". Beispielsweise können Sie die Demo-Datenquelle nwind.xml aus der FastReport.NET-Lieferung entnehmen:
Wählen Sie aus der Datenquelle die Kategorien- und Produkttabellen aus. Diese Tabellen sind durch Schlüssel verknüpft, und daher können wir leicht einen Report vom Typ Master-Detail erstellen:
Wie Sie sehen können, haben die hinzugefügten Datenfelder und Biegungen Header und DetailData kein Schlosssymbol. Auf dieser Basis unterscheiden Sie Objekte des geerbten Reports immer vom BasisReport.
Auf diese Weise können Sie eine große Anzahl von Reporten in einem einzigen Stil erstellen und dann alle problemlos bearbeiten, wobei nur die Basisvorlage geändert wird.