Drilldown reporting means navigation in hierarchical data through different detail levels.
Initially only the top level will be printed to preview (for example "Customers"). With a click on a customer, a new report (for example "Orders") will be opened, that contains detail information for this record. In this manner, you "drill down" through different levels until you reach for example the products a customer has ordered in a specific order. One of the advantages is the performance gain by means of specialization. Drilldown is available in preview. Drilldown can be defined for table rows and table fields.
Using drilldown requires that your development system can handle callbacks or window notifications (see chapter Callbacks and Notifications)
The .NET and VCL components in databound mode support drilldown automatically if a data source is used that supports hierarchies and can be reset. Most DataProviders comply with this requirement. If using the component in this manner, you can skip this chapter.
For C++ there is already a fully functional sample source code available. You will find it in the directory '"Samples > Visual C++ > Designer Preview and Drilldown ''.
For other development systems, it is suggested to implement drilldown with different threads, so tasks can be done in the background. In this case, you will need to be able to start a thread with the printing procedure and you will need synchronisation elements like mutex or critical section.
Your task is to initiate a real data print job with a corresponding filtered data source. For this purpose, information about the task (start and end of a drilldown report) is available in the callback. Only minor changes to the normal print job routines are necessary.