Sum of a Column in Crystal Reports
Here is this Crystal Reports report. I will be showing data from more than one table in ASP.NET.
The following 3 tables I am using to create a Crystal Report.
1. Customer
Image 1.
2. Product
Image 2.
3. Cust_Prod_Order
Image 3.
Now open Visual Studio and go to File -> New Web Site.
Image 4.
After this right-click on the project in the Solution Explorer then select Add New Item -> Crystal Report -> Add.
Image 5.
Image 6.
Here expand Create New Connection then select OLE DB (ADO) then a pop-up window will open then select Microsoft OLE DB Provider for SQL Server then click Next.
Image 7.
Now enter your SQL Server details.
Image 8.
Image 9.
Now select your database then select all your tables and move them over to Selected Tables.
Image 10.
Now you can see your tables with relationships.
Image 11.
Now select the columns to show in the reports.
Image 12.
Now you can see your report is ready. All the columns are already in the Details sections. You can remove any column or you can add a new column by dragging and dropping from the Field Explorer to the report. Here I did some formatting like header text background, detail column colour and so on.
Image 13.
Now in the Field Explorer select Formula Fields -> Right-click - New.
Image 14.
Provide a name then click Use Editor.
Image 15.
Now select your Column Name and drag it to the following editor window and write Sum formula.
Image 16.
Now click on Save and Close.
Now drag the formula fields to the report footer.
Image 17.
Now to add a Report Viewer to show this Crystal Report. In the Default.aspx page drag and drop a CrystalReportViewer from the toolbox as in the following.
Image 18.
My aspx code is:
The following 3 tables I am using to create a Crystal Report.
1. Customer
Image 1.
2. Product
Image 2.
3. Cust_Prod_Order
Image 3.
Now open Visual Studio and go to File -> New Web Site.
Image 4.
After this right-click on the project in the Solution Explorer then select Add New Item -> Crystal Report -> Add.
Image 5.
Image 6.
Here expand Create New Connection then select OLE DB (ADO) then a pop-up window will open then select Microsoft OLE DB Provider for SQL Server then click Next.
Image 7.
Now enter your SQL Server details.
Image 8.
Image 9.
Now select your database then select all your tables and move them over to Selected Tables.
Image 10.
Now you can see your tables with relationships.
Image 11.
Now select the columns to show in the reports.
Image 12.
Now you can see your report is ready. All the columns are already in the Details sections. You can remove any column or you can add a new column by dragging and dropping from the Field Explorer to the report. Here I did some formatting like header text background, detail column colour and so on.
Image 13.
Now in the Field Explorer select Formula Fields -> Right-click - New.
Image 14.
Provide a name then click Use Editor.
Image 15.
Now select your Column Name and drag it to the following editor window and write Sum formula.
Image 16.
Now click on Save and Close.
Now drag the formula fields to the report footer.
Image 17.
Now to add a Report Viewer to show this Crystal Report. In the Default.aspx page drag and drop a CrystalReportViewer from the toolbox as in the following.
Image 18.
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 – Sum of a Column</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 the following 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: