You are on page 1of 10

There have been many enquiries about Crystal Reports on the site and unfortunately

there are not too many technical articles and source code samples available on
Crystal Reports on C# Corner or any where else. As usual, I decided to dedicate
some time to Crystal Reports and fill the Crystal Reports section of C# Corner and
VB.NET Heaven sites. As a result, in next couple of weeks you will see some Crystal
Reports articles from me. Hopefully, you will enjoy these articles. Again, I encourage
you to share your knowledge with other developers to make our lives easier.

Unlike previous versions of Visual Studio, Crystal Reports is an integral part of Visual
Studio .NET and ships as a part of it. By making Crystal Reports a part of Visual
Studio .NET suite, Microsoft has added one more useful tool to the Visual Studio
family. In this article, I will show you how to create a simple report using Crystal
Reports and Visual Studio .NET. In my following article, I shall dig more into Crystal
Reports .NET.

To follow this article, first create a Windows application by selecting File->New-


>Project->Visual C# Projects->Windows Application template from Visual Studio
.NET project templates. I give my project name IntroToCR.

Adding a Report to a Project

Crystal Report is a part of Add New Item templates available in Visual Studio. To add
a report to the project, add a new item by Right Clicking on the project in Solution
Explorer and selecting Add->Add New Item->Crystal Report as you can see in Figure
1. I change the name of the report to Customers because we will be displaying
customers related information from Northwind database.

Now click the Open button.


Figure 1. Adding a Report to the Project

The next step is to select the report document type from Crystal Report Gallery. As
you can see from Figure 2, Crystal Report Gallery provides three options Using the
Report Expert, As a Blank Report, or From an Existing Report.

For our first application, lets keep all options as default. I will be discussing rest of
the options in my following articles.

Figure 2. Selecting a report type.

By clicking the OK button adds Customers.rpt file to the project and launches
Standard Report Expert wizard as you can see in Figure 3, where you can select a
data source. The Standard Report Expert wizard has 8 different tabs. I will discuss
these tabs in more details in my following articles. The main purpose of this article is
to show you how to create your first report in a few simple and quick steps.
Figure 3. Standard Report Expert wizard

Adding a Data Source

Now our next step is to link a data source to the wizard. There are different ways to
link a data source to the wizard. The simplest way is to click on the OLE DB(ADO)
tree item in Figure 3.

Clicking on OLE DB(ADO) item launches OLE DB Provider dialog where you can select
a data source as you can see in Figure 4.
Figure 4. OLE DB Provider dialog

Now on the OLE DB Provider, you can select a provider. I select Microsoft OLE DB
Provider for SQL Server. If you do not have access to SQL Server, you can select
Access or other data providers.

After select Microsoft OLD DB Provider for SQL Server, you will see the Next button
is activated on the wizard.

The Next button allows you to provide the connection information about a data
source. As you can see in Figure 5, we select Northwind database.
Figure 5. Connection Information dialog

Now you can click the Finish button.

This option adds the Northwind database to the list and if you expand the database
item, you will see the database tables.

Now on this page, I select Customers table and add it by clicking Insert Table button.
Now you can see the table listed in the right list box. See Figure 6.
Figure 6. Northwind database tables

Now click on Next button which moves to the Fields tab. On this page, you can select
what field you want to use in the report. For simplicity, I add only 5 columns to the
report CustomerId, CompanyName, ContactName, ContactTitle, and City. See Figure
7. On this page, you can change the heading of a column by selecting a column and
changing its name in the Column Heading text box.
Figure 7. Adding columns to report

Now we can continue through different pages but we will stop here. Click Finish here.
This option adds the report with all columns to the project. The final report file looks
like Figure 8.

Figure 8. Customers.rpt
Adding a Crystal Report Viewer Control

Now our next step is to add Customers.rpt to the Form. For this, we need to make
sure the size of the Form is big enough to fit the report. So you may want to go
ahead and modify the size of Form.

After resizing the Form, we need to add Crystal Report Viewer from Toolbox to the
Form. Simply drag the Crystal Report Viewer control from Toolbox to the Form and
resize it accordingly. My final Form looks like Figure 9.

Figure 9. Form with Crystal Report Viewer

Attaching Report to Crystal Report Viewer Control

The last step is to attach Customers.rpt to Crystal Report Viewer control. For this, we
need to set the ReportSource property of Crystal Report Viewer control. On the
Forms load event handler, we create an Instance of Customers class, and set it as
the ReportSource property of Crystal Report Viewer control.

Just write the following two bold lines on your Forms load event handler.

private void Form1_Load(object sender, System.EventArgs e)


{
Customers custReport = new Customers();
crystalReportViewer1.ReportSource = custReport;
}

Now compile and run the project. The output looks like Figure 10. Now you can see
the report with data. With the help of Crystal Report Viewer, you can select from
various options such as zoom in, zoom out, print, move next, move last, move
previous, and move first.

Figure 10. The final report

Conclusion

By adding Crystal Report support to Visual Studio .NET, Microsoft had made
developers like easier. In this article, we saw how easy it is to generate a report
from a SQL Server database using Crystal Report available in Visual Studio 2003.

In my next articles in this series, I will be exploring more options of Crystal Reports.

Note: To run the attached source code, you MUST change the database information.

You might also like