Email: Password:       Forgot Password 
    .netCodeSG
A Saarsha Group Online Community for dot net codes group like C#, Asp.NET, VB.NET, Sharepoint, JavaScript, JQuery, Ajax, SQL, WCF, WPF.
 
TECHNOLOGIES:
 

Crystal Report From More Than One Table in ASP.NET

Article:
Viewed:  2031 
Posted On:  16/09/2014 09:46:18 
How we can create a Crystal Report from more than one table?  

 

In this article I am going to explain How we can display a Crystal Report by fetching records from more than one table in ASP.NET.

Below 3 tables I am using to create a Crystal Report.

1. Customer

Customer.png

Image 1.

2. 
Product

Product.png

Image 2.

3. 
Cust_Prod_Order

Customer Product Order.png

Image 3.

Now Open Visual Studio -> File -> New Web Site -> Ok

2.png

Image 4.

After this Right Click on Solution Explorer -> Add New Item -> Crystal Report -> Add.

3.png

Image 5.

4.png

Image 6.

Here Expand -> Create New Connection -> Select OLE DB(ADO) -> A pop up window will open ->Select Microsoft OLE DB Provider for SQL Server -> Next

5.png

Image 7.

Now Enter your SQL Server Details. -> Next

6.png

Image 8.

Click Finish.

7.png

Image 9.

Now Select your Data Base -> Select Your All Tables and Move -> Next

8.png

Image 10.

Now You can see your tables with relationship. -> Next

9.png

Image 11.

Now select column to show in reports -> Finish

10.png

Image 12.

Now you can see your report is ready. All Columns already in Details sections. You can remove any column or you can add new column by drag n drop from field explorer to report. Here I did some formatting like header text background, detail column color etc.

11.png

Image 13.

Now time to add a Report Viewer where we can show this Crystal Report. On Default.aspx page drag n drop CrystalReportViewer from tool box like below.

13.png

Image 14.

My aspx code is:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register Assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
    Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Crystal Report From More Than One Table</title>
</head>
<body>
    <form id="form1" runat="server">
    <table cellpadding="10" cellspacing="10" width="70%" height="300px" align="center"
        style="border: solid 2px gray;">
        <tr>
            <td align="center" style="background-color: SkyBlue;">
                <span style="font-family: Times New Roman; font-size: 18pt; color: Green;">Customer
                    Product Order Detail Report</span>
            </td>
        </tr>
        <tr>
            <td align="center">
                <asp:Panel ID="pnlReport" runat="server" Height="400px">
                    <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />
                </asp:Panel>
            </td>
        </tr>
    </table>
    </form>
</body>
</html>
 

Now on Page_Load event write below code:

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using CrystalDecisions.CrystalReports.Engine; 

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ReportDocument cryRpt = new ReportDocument();
        cryRpt.Load(Server.MapPath("EmployeeCrystalReport.rpt"));
        CrystalReportViewer1.ReportSource = cryRpt;        
    }
}
 
Now Run your Application:

12.png

Image 15.

  Comment:
 
By Rakesh  On  17/09/2014 03:07:17
Excellent Artical for beginner
         HOME   |   Submit Article   |   Contact Us   |   About Us   |   Terms & Condition   |   Advertise With us