Data pipelines present a structured set of data to a report. This structure takes the form of records and fields. The report engine expects operations like open, first, next, and last to provide a certain response from the data pipeline. The data-aware components within the report expect field values to be retrievable by simply passing a field name to the data pipeline. In the
component, this functionality is implemented by calling the methods of a TDataSet object. However, this is not the only way a data pipeline can provide the necessary data access functionality to a report. The
JITPipeline (JIT stands for Just In Time)
triggers events to accomplish the same results as the DBPipeline. That is, the JITPipeline provides a set of events that, when coded properly, allow reports to print from any source of data referenced by the event handlers. The following diagram shows a JITPipeline that is assigned to event handlers referencing a standard Delphi string grid. In the report, data-aware components are created just as they would be for any other database report, by assigning field names from the
to the data-aware controls in the report. This results in a clean, maintainable implementation. If you later decide to provide data to the report via a text file or database table, you can simply swap out the
with a new pipeline of the correct type.
For more specifics on the
, see the