ActiveReports 12
Hyperlinks and DrillThrough
ActiveReports 12 > ActiveReports User Guide > Samples and Walkthroughs > Samples > Section Report > Preview > Hyperlinks and DrillThrough

The Hyperlinks and DrillThrough sample consists of three reports and a ViewerForm. The reports use the Hyperlink event of the Viewer control to pass a value from the Hyperlink property of a TextBox control to a Parameter value in a more detailed report.

Sample Location

Visual Basic.NET

<User Folder>\Documents\GrapeCity Samples\ActiveReports 12\Section Reports\Preview
\Hyperlinks and DrillThrough\VB.NET

C#

<User Folder>\Documents\GrapeCity Samples\ActiveReports 12\Section Reports\Preview
\Hyperlinks and DrillThrough\C#

Run-Time Features

When you run this sample, a report displaying bound fields with a link created on CustomerID is displayed in a Viewer control. DrillThrough feature allows users to navigate to another report containing detailed data. Clicking the CustomerID hyperlink takes you to the second report which displays detailed information of the selected CustomerID. On further clicking the OrderID hyperlink the third report displaying the details of the selected order is opened in the Viewer.  This feature enables the users to systematically go through the detailed data of the desired CustomerID.

Note: To run this sample, you must have access to the Nwind.mdb. A copy is located at [User Documents folder]\GrapeCity Samples\ActiveReports 12\Data\NWIND.mdb. If you are unable to access the data files in the sample, create the Data folder and place all the data files to this folder, or change the reference path to the data files within the folder according to your environment.

Project Details

ViewerForm

This form contains only the Viewer control with its Dock property set to Fill. This ensures that the viewer resizes along with the form at run time.

Right-click the form and select View Code to see the code that allows multiple ViewerForms to display for the reports, and see the Form Load event for the code that loads the main report into the viewer.

See the Viewer Hyperlink event for the code that collects a string value from the Hyperlink property of the clicked TextBox on the main report and passes it into the customerID Parameter of the report DrillThrough1, or collects a numeric value and passes it to the orderID Parameter of the report DrillThrough2. This code then runs the report with the parameter value and displays it in another instance of the ViewerForm.

DrillThroughMain Report

The main report that is loaded in the ViewerForm by default uses the PageHeader and Detail sections.

PageHeader section

This section contains three Label controls to serve as column headers for the details, and a CrossSectionBox control. For more information, see Cross Section Controls.

Detail section

The Detail section has the BackColor property set to Thistle, and its RepeatToFill property set to True. This ensures that the background color reaches all the way to the bottom of the page when there is not enough data to fill it.

Right click on the form, select View code to see the Connection String and SQL Query that provide data for the bound fields.

The Detail section has three bound TextBox controls that display a list of customer information. Select CustomerID and you will see that the HyperLink property is not set in the Properties window. To see the code that assigns the data from the TextBox to its HyperLink property, right-click the report and select View Code. The HyperLink property is set in the Detail BeforePrint event.

Note: This hyperlink does not work in Preview mode, because it relies on code in the ViewerForm to pass the value to DrillThrough1 report's parameter.

PageFooter Section

This section is not in use, so it is hidden by setting the Visible property to False. This section cannot be deleted, because its related PageHeader section is in use.

DrillThrough1 Report

This report looks similar to the DrillThroughMain report, but the main difference is that it has a CustomerID parameter in its SQL Query.

GroupHeader section

Since this report only displays order information for the CustomerID from the clicked hyperlink, the PageHeader section could have been used, but this report uses the GroupHeader section. To make this section print at the top of each page, the RepeatStyle property is set to OnPage. This section consists of five label controls to serve as column headers for the Detail section and a CrossSectionBox control.

Detail section

Right click on the form, select View code to see the parameter in the SQL Query that collects the value from the ViewerForm.

Parameters in SQL Queries are denoted by the <% and %> symbols that trigger ActiveReports to add them to the report's Parameters collection. For more information, see Parameters.

The Detail section has five bound TextBox controls that display a list of order information for the customer. Select OrderID and you will see that the HyperLink property is not set in the Properties window. To see the code that assigns the data from the TextBox to its HyperLink property, right-click the report and select View Code. The HyperLink property is set in the Detail BeforePrint event.

GroupFooter section

This section is not in use, so it is hidden by setting the Visible property to False. This section cannot be deleted, because it is related GroupHeader section is in use.

DrillThrough2 Report

Like DrillThrough1, this report has a parameter in a SQL Query, but unlike the other two reports, this one has no hyperlink. It displays order details for the OrderID value passed into it from the clicked hyperlink in DrillThroguh1.

GroupHeader section

Like in the previous report, this section contains Label controls to serve as column headers for the details, and a CrossSectionBox control.

Detail section

Right click on the form, select View code to see the parameter in the SQL Query that collects the value from the ViewerForm.
See Also

How To

Concepts