7 Easy Steps to get start with Crystal Report.
Before I start I would like to recommend new kind of reporting which is which is currently a hot topic in IT industry, that is Power bi,and you can head start with it by viewing this popular video on power bi which can make you power bi professional in very simple stepsas below.
1)Open visual studio...then create website
2)Now open toolbox,go on Reporting TAB,Add Crystal Report Viewer To Any Of Your Blank ASPX page,
(if only Pointer And MicrosoftViewer Is Present or If Crystal Report Is Not Existed In the Reporting TAB.Go through the VISUAL STUDIO SET UP AGAIN AND CHOOSE ADD NEW ITEM instead of UPDATE OPTION THIS TIME and you'll see in the installation list crystal report is in the last!)
2)Now After You Drag The Crystal Report Viewer Control you'll get a control in your page with name 'CrystalReportViewer1')
Now right click to your solution add new item and select CrystalReport.this will add crystal report to your solution (as you add webform or any file) wth name 'CrystalReport.rpt'
Now You Have
a Crystal Report (CrystalReport.rpt)
And
a Crystal Report Control (CrystalReportViewer1)In a Form Who Can Handle It.
a Crystal Report (CrystalReport.rpt)
And
a Crystal Report Control (CrystalReportViewer1)In a Form Who Can Handle It.
3)Now When You Open Crystal Report The Screen Will Look Some Thing Like This
4)Now You’ll Find Field Explorer
side bar in right with solution Explorer As Shown open it and right click
Database Field
5)
After That A New Window Will open ‘DATABASE EXPERT’
Now Here Is The Thing You Have To Go Smoothly.
Click ‘create new connection’ +
sign
then + sign of OL EDB ADO
then a window will appear which wil ask you to set your database path...
make proper connection…
then + sign of OL EDB ADO
then a window will appear which wil ask you to set your database path...
make proper connection…
After that your database will get
generate on right hand side pane.
and you have done 90% of work!
Click > and transfer your
database to 'selected table' box(on right hand side)
Click table name press ok
and you have done 90% of work!
6)
Now just Explore database field of
field explorer(Field Explorer Only Appears in CrytalReport) and drag coloumn name to the Crystal report .
wherever you want
wherever you want
(Coloum automaticly behave as they are
bind in gridview or datalist)
Check the toolbox you have four
tools to design.
public void NormalBinding()
{
SqlCommand sqlcmd = new SqlCommand("select * from sample", con);SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
DataTable dt = new DataTable();
dt.Clear();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
ReportDocument RptDoc = new ReportDocument();
RptDoc.Load(Server.MapPath("CrystalReport.rpt"));
RptDoc.SetDataSource(dt);
CrystalReportViewer1.ReportSource = RptDoc;
CrystalReportViewer1.DataBind();
}
Now Your Whole Project Will Look Some thing Like This.
.ASPX PAGE
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="crys.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></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />
</div>
</form>
</body>
</html>
.CS FILE
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
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.IO;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using CrystalDecisions.Enterprise;
using CrystalDecisions.ReportSource;
public partial class _Default : System.Web.UI.Page
{
SqlConnection sconn = new SqlConnection(ConfigurationManager.AppSettings["regattacon"]);
string sid;
SqlDataAdapter da;
string query;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
bindproformainvoicepi_no();
}
}
public void bindproformainvoicepi_no()
{
query = "select * from sample";
SqlCommand sqlcmd = new SqlCommand(query, sconn);
da = new SqlDataAdapter(sqlcmd); DataTable dt = new DataTable();
dt.Clear();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
ReportDocument RptDoc = new ReportDocument();
RptDoc.Load(Server.MapPath("CrystalReport.rpt"));
RptDoc.SetDataSource(dt);
CrystalReportViewer1.ReportSource = RptDoc;
CrystalReportViewer1.DataBind();
}
}
}
7)
Write this code in form .cs file where the control exist
i)add these namespaces must
using System.IO;
using
System.Data.SqlClient;
using
CrystalDecisions.CrystalReports.Engine;
using
CrystalDecisions.Shared;
using
CrystalDecisions.Enterprise;
using CrystalDecisions.ReportSource;
ii)and continue to this as you understand
Now the basic thing you have to do is Binding Your Database Value to Crystal Report!
if You Understand the basic binding you can easily notice that i 've just binded values to crytal report!
public void NormalBinding()
{
SqlCommand sqlcmd = new SqlCommand("select * from sample", con);SqlDataAdapter da = new SqlDataAdapter(sqlcmd);
DataTable dt = new DataTable();
dt.Clear();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
ReportDocument RptDoc = new ReportDocument();
RptDoc.Load(Server.MapPath("CrystalReport.rpt"));
RptDoc.SetDataSource(dt);
CrystalReportViewer1.ReportSource = RptDoc;
CrystalReportViewer1.DataBind();
}
Above one is all about a function NormalBinding() who's used to bind data in crystal report!
you can take a look to basic binding on my basic asp.net post.Now Your Whole Project Will Look Some thing Like This.
.ASPX PAGE
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="crys.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></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" />
</div>
</form>
</body>
</html>
.CS FILE
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
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.IO;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using CrystalDecisions.Enterprise;
using CrystalDecisions.ReportSource;
public partial class _Default : System.Web.UI.Page
{
SqlConnection sconn = new SqlConnection(ConfigurationManager.AppSettings["regattacon"]);
string sid;
SqlDataAdapter da;
string query;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
bindproformainvoicepi_no();
}
}
public void bindproformainvoicepi_no()
{
query = "select * from sample";
SqlCommand sqlcmd = new SqlCommand(query, sconn);
da = new SqlDataAdapter(sqlcmd); DataTable dt = new DataTable();
dt.Clear();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
ReportDocument RptDoc = new ReportDocument();
RptDoc.Load(Server.MapPath("CrystalReport.rpt"));
RptDoc.SetDataSource(dt);
CrystalReportViewer1.ReportSource = RptDoc;
CrystalReportViewer1.DataBind();
}
}
}
RUN it and have fun with CRYSTAL REPORT,with its nice printing,exporting to excel,pdl,doc ,style
the very very useful guide for beginers ,you saved my life dude,i was searching for the exact same
ReplyDeleteNice Article....Useful for beginners....
ReplyDeleteHey Do We need License for Hosting Crystal reports on production server.
ReplyDeletePlease let me know
Thanks in advance....
Sai
Wow nice post. In this post, mentions a lot of things about Crystal Report Hosting. Yes, Crystal Reports is a business intelligence application, currently marketed to small businesses. I developed on Visual Studios that uses the version of Crystal Reports built in. I need to deploy this so visitors to my site can read and print reports. I have a great idea on ASP.NET MVC Hosting; I am looking for this, if you have any interest, then see http://www.myasp.net/
ReplyDelete