You are on page 1of 10

Crystal Reports

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