Ngày gia nhập: 01/11/2005 Giới tính: Đến từ: Vietnam
Trạng thái: Bài viết: 365 Tiền: 738$ Địa chỉ e-mail: Yahoo! IM: Sinh nhật: 17/02/1983 Cảnh cáo: (0%)
Ngày gửi: 16/02/2017 lúc 9:58 sáng | Đã khóa IP
In this Tutorials we are going to discuss how to create a Crystal Report using ASP.NET Web Form
applications. We will show you how to create the Typed dataset and bind
the Crystal Report to the dataset in a Web Form application.
You can read our following tutorial on how to Create Crystal Reports
We are using Visual Studio 2013 and SAP Crystal Reports for Developer Edition to Visual Studio. Click to Download Crystal Report for Visual Studio. The Code also works under Visual Studio 2015 Community Edition and the latest version of Crystal Reports.
We are using Northwind Database. You can download it from CodePlex
Create the ASP.NET Web Forms Application
Creating the Crystal Reports involves following steps
Create ASP.NET Web Forms Project
Create the Dataset
Add Crystal Report to the Project
Bind Dataset to the Crystal Report and Add Fields
Add a Web Form to the project
Add CrystalReportViewer control & Bind it to the Report
Run and Test the Report
1. Create ASP.NET Web Forms Project
The First step is to create a Web form application. Follow these steps to Create a Web forms Project
Launch Visual Studio.
From the File menu, click New Project
From Templates ->Visual C#
Select Web
Select ASP.NET Web Application
Choose Name as CrWebApp
Click on OK
This will open the New ASP.NET Project Wizard.
Select Empty Template
Click on Web forms
Click on OK
Like us on Facebook
2. Create a Dataset
In the Previous Tutorial, we learnt how to use OLE DB (ADO) connection. For this example let us choose ADO.NET Dataset. To use ADO.NET Dataset we need to create a dataset in our project. To do that follow the following steps
Select your Project
Right Click
Go to Add New
Add New Item dialog box appears. Here follow these steps
Select New Item
Select Data on left-hand side box
On the right-hand side select Dataset
Name the dataset as customer
Click on Add
This will bring Dataset Designer on your screen
Dataset Designer
Right-click and select Table Adapter.
Choose your data connection wizard
This will bring up Choose your data connection wizard. The dropdown will display the already created connections. To Create a new connection, click on the New Connection
Click on New Connection
Add Connection dialog box
The next dialog box is Add Connection dialog box. The first Option in this screen is data source which, is as you can see is displayed as Microsoft SQL Server (SQL Client). If you wish to change it to some other provider then, click on Change. That will take you to the list of available Data Source Select the appropriate one for your project and Click OK
Since we are connecting to the SQL server database let us choose cancel
Follow these steps to set your database connection
In Server Name field enter name of your SQL SERVER Instance Name
Under
authentication, you can either choose windows authentication or
specify user ID & Password. I will choose Windows Authentication
Select database Name. Select NorthWInd
Click on Test Connection to verify Connection
Click on OK to finish
We are taken back to the Choose your data Connection window
Choose your data connection wizard
The
new connection which we created in the previous step appears on drop
down. Expand the plus right below connection drop down see the
connection string
Select the Newly created connection
Click on NEXT
You will be prompted to whether you wish to add this connection to the web.config file. Select yes and click Next. This will bring up Choose your Command Type Dialog Box
Choose your Command Type
Here you are given three options to select the Command Type
Use SQL Statement
New Stored Procedure
Existing Stores Procedure
Let us choose Use SQL Statement. Click on Next. This will bring up Enter SQL Statement dialog box
Enter SQL Statement dialog box
Here you are prompted for the SQL statement. Enter our query as
Select * from customers
Click on Next. This will take us to the Choose methods to Generate dialog box
Choose methods to Generate
This
wizard asks for the methods you want to add to our TableAdapter.
Select tick on all three and Click on Next. The dataset is generated
for us. Save and close the dataset
Now we have created our dataset. We are now ready to connect this dataset to our crystal report
3. Add Crystal Report to the Project
To Add Crystal Reports to the Report do the following
Select your Project
Click Add
Click New Item
On the left-hand templates column, choose Reporting
Select Crystal Reports
Name the Report as rptCustomerList
Click on Add
This will bring up the Crystal Report Gallery
Crystal Report Gallery
The Gallery offers three options to create report
Using The Report Wizard
As a Blank Report
From an existing Report
In the Create your first Crystal Report Using Windows Forms, we showed you how to create the report using the first Option i.e. using the Report wizard. For this example let us create the report as a Blank Report
Select as blank Report and click on Ok
A
blank Report is Created and ready for use. Notice that the reference to
the following Crystal Report Namespace is added to our project
CrystalDecisions.CrystalReports.Engine
CrystalDecisions.ReportSource
CrystalDecisions.Shared
4. Bind the Dataset to Crystal Report and Add Fields
Now we need to connect this report to the dataset we created. Locate and Open the crystal Report rptCustomerList. To Connect to the dataset do the following
Select Field Explorer
On Database fields -> Right Click
Click on Database Expert
Go to Project Data and select ADO.NET Datasets
Dataset we have created will appear on the project Data
Select The Customers Dataset.
Click on Right Arrow to add this to the Report.
Click on OK.
Add fields to Report
The next step is to add the fields to the report. To do this follow these steps
Go to Fields Explorer. You will notice that the customer table which has added here appears here with all the fields.
Expand database fields.
Expand customers.
Select the fields you wish to place on Report Drag them to the report.
Let us Place title companyName, contactName , contactTitle, and city in the report.
Save the report and close all the open windows.
5. Create an ASP.NET Web Form
The next step is to create a web form to show the report. To do this follow these steps
Go to Project Right click
Click on Add
Click on New Item
Add New Wizard Appears
Select Web
Select Webform
Name it as default.aspx
Click on add to create the form
Add a button to our web form
The next step is to add a button to our web form. To do this
Open the default.aspx.
Click on Design tab at the bottom.
Go to the toolbox.
Select button.
Drag it and place it on the web page.
Rename the button caption as SHOW.
Rename the ID Property to Show.
6. Add a Crystal Viewer Control to Web Forms and Bind it to the Report
The next step is to add crystal Viewer control to our form. To do this
Open the default.aspx.
Click on Design tab at the bottom.
Go to the toolbox.
Locate Reporting Tab.
Select Crystal Report Viewer Control.
Drag it on the web page.
Bind Report to the Crystal Report Viewer
To
View the Crystal Report we need to bind the Report (rptCustomer) to the
Crystal Viewer Control, which we added to our Web Form. To do this
double click on Show Button to open the code behind class
We need to Import following Name Space from the Crystal Reports.
First,
We need to Fill the data table with the Customers data. To do that
Create an instance of Table Adapter CustomersTableAdapter and invoke the
Fill Method to Fill the data.
Create the rpt object, which is an instance of our rptCustomerList. Note the rptCustomerList is the name of the Crystal Report, which we had created in step 3. Assigning the Dataset ds to Report using the method SetDataSource. The object rpt is our Report.
Crystal Report Viewer control’s job is to display the report. All we need to do is to assign the report to the ReportSource Property of the Crystal Report Viewer Control (CrystalReportViewer.ReportSource = rpt). Now our Crystal Report Viewer is ready to display our report.
Finally, store our Report in the Session using Session.Add(“report”, rpt).
The Report object is retrieved from the Session and assigned to the
ReportSource Property of the CrystalReportViewer Control when the page
is refreshed or user navigates from one page to another. This is done
from the Page_Init event.
Finally, our code looks like this
C#
< ="crayon-plain print-no" -settings="dblclick" readonly="readonly" style="-moz-tab-size: 4; font-size: 14px ! important; line-height: 18px ! important; : 0; opacity: 0; overflow: ;">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
//Crystal Report Namespaces
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
namespace CrWebFormsApp
{
public partial class Default : System.Web.UI.Page
{
rptCustomerList rpt;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Page_Init(object sender, EventArgs e)
{
if (Session["report"] != null)
{
CrystalReportViewer1.ReportSource = (rptCustomerList)Session["report"];
}
}
protected void Show_Click(object sender, EventArgs e)
{
CustomerTableAdapters.CustomersTableAdapter da = new CustomerTableAdapters.CustomersTableAdapter();
Customer ds = new Customer();
Customer.CustomersDataTable dt=(Customer.CustomersDataTable) ds.Tables["Customers"];
da.Fill(dt);
rpt = new rptCustomerList();
rpt.SetDataSource(ds);
CrystalReportViewer1.ReportSource = rpt;
Session.Add("report", rpt);
}
)
>
Save and run and you will see your first report in ASP.NET Web forms
Notes
It
may happen that report might not display properly or may not display at
all. There are two common problems, that usually occurs in ASP.NET Web
Forms application.
You can download the source code from the GitHub. The Source code is made using Visual Studio 2015 Community Edition and SAP Crystal Reports Developer Edition for Visual Studio Service Pack 17
The sample database Northwind can found from CodePlex
Run Crystal Reports Under 64 Bit IIS.
Thanks to Nicholas De La Haye. for the very usefull information.
Go
to Tools -> Option then select Project and Solutions -> Web
Projects and tick on the option “Use the 64-bit version of IIS Express
for web sites and projects”
Bạn không thể tạo đề tài mới Bạn không thể trả lời bài viết Bạn không thể xoá bài viết bạn đã gưi Bạn không thể sửa bài viết bạn đã gửi Bạn không thể tạo bình chọn Bạn không thể bình chọn