Glossary Item Box

ActiveReports for .NET 2 Online Help Send feedback to Data Dynamics

Top N Reports

ActiveReports requires no special handling for Top N Records report styles. Such reports can be easily implemented by setting the data source to a Top N filtered query. If the data source does not support Top N queries, the query can be set to return records ordered by the Top N value descending. Then the MaxRows property should be set to N.

For example, to list the top 10 customers by their sales numbers, you can create a query that returns all customer sales ordered by the sales value descending. Then set the MaxRows property of the data control to 10. ActiveReports will process only 10 records from the sorted query results.

This walkthrough illustrates how to create a report that lists the top ten customers by sales.

The walkthrough is split up into the following activities:

To complete the walkthrough, you must have access to the NorthWind database (Nwind.mdb).

When you have finished this walkthrough, you will have a report that looks similar to the following.

Creating a new Visual Studio project

To create a new Visual Studio project

  1. Open Visual Studio.
  2. Click on File > New > Project.

  3. Select the project type and click on Windows Application.
  4. Change the name of your project and click OK.

Adding an ActiveReport to a Visual Studio project

To add an ActiveReport to your project

  1. Open a new project in Visual Studio.
  2. Click on Project > Add New Item.
  3. Select ActiveReports file and rename the file rptTopN.
  4. Click Open.

Connecting the data source to a database

To connect the data source to a database

  1. Click on the yellow report DataSource icon in the Detail section. This brings up the report DataSource dialog box.
  2. Click on Build...
  3. Select "Microsoft Jet 4.0 OLE DB Provider" and click Next >>.
  4. Click on the ellipsis to browse for the access path to Nwind.mdb. Click Open once you have selected the appropriate access path.
  5. Click OK to continue.
  6. In the Query field, type "SELECT TOP 10 Customers.CompanyName, Sum([UnitPrice]*[Quantity]) AS Sales FROM (Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID) INNER JOIN [Order Details] ON Orders.OrderID = [Order Details].OrderID GROUP BY Customers.CompanyName ORDER BY Sum([UnitPrice]*[Quantity]) DESC".
  7. Click OK to return to the report design surface.

Adding controls to contain data

To add controls to the report

  1. Add the following controls to the Detail section:
    Control DataField Name Text/Caption Location
    TextBox CompanyName txtCompanyName Company Name 0.5, 0
    TextBox Sales txtSales Sales 5, 0
  2. Add the following control to the PageHeader section:
    Control Name Text/Caption Location
    Label lblTopTen Top Ten Customers 0, 0

Viewing the report

To view the report

  1. Add the ActiveReports viewer control to a Windows Form.
  2. Add the code needed to set the viewer document equal to the report document. See Using the ActiveReports WinForm Viewer for help.

 

 


Copyright © 2004-2005 Data Dynamics, Ltd. All rights reserved.