BIRT-Ereignishandler für den Datenzugriff

Ein Ereignishandler für den Datenzugriff ermöglicht Ihnen das Arbeiten mit einer Datenquelle oder einem Dataset, wie im Abschnitt 'EGL-BIRT-Handler' beschrieben. Darüber hinaus können Sie, wenn Sie über Zugriff auf einen Parameter des Typs 'ReportContext' verfügen, auf jeden Berichtsparameter zum Zeitpunkt des Aufrufs des Ereignishandlers zugreifen. Sie können beispielsweise für einen Berichtsparameter eine bestimmte Kundennummer festlegen, um anzugeben, für welchen Kunden Daten in den Bericht aufgenommen werden sollen.

Beispiel: Ein Ereignishandler, dessen Ereignistyp 'beforeOpen' lautet und dessen Zweck die Aktualisierung einer Datenquelle mit dem Namen myDataSource ist:
function setUser( d DataSourceInstance, c ReportContext ) 
   { eventType = beforeOpen, elementName = "myDataSource" }
   d.setExtensionProperty( "odaUser", userName );
   d.setExtensionProperty( "odaPassword", password );
end

In diesem Beispiel wird kein Berichtsparameter verwendet, jedoch der Ereignishandlerparameter d (des Typs 'DataSourceInstance') zum Festlegen einer Benutzer-ID und eines Kennworts, die beide von der BIRT-Berichtsengine verwendet werden, um eine Verbindung zu einer relationalen Datenbank herzustellen. In diesem Beispiel wird davon ausgegangen, dass es sich bei den Variablen userName und password um globale Variablen handelt, die außerhalb der Funktion definiert wurden.

Darüber hinaus enthält das obige Beispiel zwei Eigenschaften:

Jeder der Parameter in einem Ereignishandler für den Datenzugriff basiert auf einem externen EGL-Typ, der eine Java™-Schnittstelle darstellt. Die folgende Tabelle enthält den Typ und den Zweck jedes Datenzugriffsparameters sowie den nicht qualifizierten Namen der zugehörigen Java-Schnittstelle.

Parametertyp Zweck Java-Schnittstelle
DataSetInstance Zugriff auf allgemeine Details zu einem Dataset IDataSetInstance
DataSetRow Zugriff auf spaltenspezifische Details zu einem Dataset IDataSetRow
DataSourceInstance Zugriff auf Details zu einer Datenquelle IDataSourceInstance
ReportContext Abrufen oder Festlegen von Berichtsparameterwerten IReportContext
UpdatableDatasetRow Bereitstellen einer Datenzeile für den Bericht IUpdatableDatasetRow

Möglicherweise benötigen Sie die Java-spezifischen Details nie, doch das Javadoc, in dem die einzelnen Schnittstellen beschrieben sind, ist im Dokument BIRT Report Scripting API Reference enthalten, das sich im Hilfesystem Ihres Produkts unter BIRT Programmer Reference > Reference > APIReference > BIRT Report Scripting API Reference befindet. Die Java-Schnittstellen 'IDataSourceInstance' und 'IDataSetInstance' befinden sich in 'org.eclipse.birt.report.engine.api.script.instance'; 'DataSetRow', 'UpdatableDatasetRow' und 'ReportContext' befinden sich im Paket 'org.eclipse.birt.report.engine.api.script'.


Feedback