Hunt

Saturday, February 27, 2010

CRYSTAL REPORT CONCEPTS UPDATED for WINDOWS APPLICATION

*********************************************************************************
Most valuable method No need giving local path:
*********************************************************************************
through dataset u can achieve this:

1) To add crystalreportviewer in windows form

2)To Add the following name space

using CrystalDecisions.CrystalReports.Engine;

private void Form1_Load(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection("provider=sqloledb;server=.;database=northwind;integrated security=sspi");
con.Open();
OleDbDataAdapter ada = new OleDbDataAdapter("SELECT * FROM EMPLOYEES", con);
DataSet ds = new DataSet();
ada.Fill(ds);
for (int i = 0; i < ds.Tables[0].Rows.Count-1; i++)
{
comboBox1.Items.Add(ds.Tables[0].Rows[i][0].ToString());
}
}


private void button1_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection("provider=sqloledb;server=.;database=northwind;integrated security=sspi");
con.Open();
OleDbDataAdapter ada = new OleDbDataAdapter("SELECT * FROM EMPLOYEES WHERE EMPLOYEEID='" + comboBox1.Text.ToString() + "' ", con);
DataSet ds = new DataSet();
ada.Fill(ds);
CrystalReport4 cra = new CrystalReport4();

cra.SetParameterValue("@id", ds.Tables[0].Rows[0][0].ToString());
cra.SetParameterValue("@name", ds.Tables[0].Rows[0][1].ToString());
cra.SetParameterValue("@title", ds.Tables[0].Rows[0][2].ToString());
crystalReportViewer1.ReportSource = cra;
}


3)In crystalrepor.rpt do the following things

i)Select Blank report
ii) In the field explorer select parameter
iii)add new parameter according to setparamervalues("@id",dr[0].ToString()).



================================================================

************************************************************
Best Way To show crystal report in windows application
*************************************************************

1) To add crystalreportviewer in windows form

2)To Add the following name space

using CrystalDecisions.CrystalReports.Engine;

To Load Id values in combobox with help of following code:


private void Form2_Load(object sender, EventArgs e)
{
OleDbCommand cmd = new OleDbCommand("SELECT EMPLOYEEID FROM EMPLOYEES", con);
con.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
comboBox1.Items.Add(dr[0].ToString());
}
dr.Close();
con.Close();
}

To add following code in button event


private void button1_Click(object sender, EventArgs e)
{
ReportDocument rep = new ReportDocument();
rep.Load ("D:\\VIVEK\\Practise\\crystalreport\\crystalreport\\CrystalReport3.rpt");
con.Open();
cmd1 =new OleDbCommand ("SELECT * FROM EMPLOYEES where EMPLOYEEID='"+comboBox1 .Text +"'", con);
dr=cmd1.ExecuteReader ();
if (dr.Read ())
{
rep.SetParameterValue ("@id",dr[0].ToString());
rep.SetParameterValue("@name", dr[1].ToString());
rep.SetParameterValue("@title", dr[2].ToString());
}
dr.Close();
con.Close();
crystalReportViewer1.ReportSource = rep;
}

3)In crystalrepor.rpt do the following things

i)Select Blank report
ii) In the field explorer select parameter
iii)add new parameter according to setparamervalues("@id",dr[0].ToString()).

Now u can get desired values according to ur selection

================================================


CRYSTAL REPORT USING DATASET
==============================================


WINDOWS APPLICATION
==============================
- ADD A DATASET
- IN THAT DATASET RIGHT CLICK AND CHOOSE DATA TABLE.
- IN THAT DATATALE RIGHT CLICK AND ADD COLUMN(GIVE DATABASE TABLE COLUMN NAMES AS DATATABLE COLUMN NAME) ANT THEN SAVE

-ADD CRYSTAL REPORT AND CHOOSE AS BLANK REPORT
-THEN IN THAT CRYSTAL REPORT GOTO FILED EXPLORER AND THEN RIGHT CLIK IN DATABASE FIELDS->
CHOOSE DATABASE EXPERT
- THEN A WIZARD IS COME THEN GOTO PROJECT DATA->ADO.NET DATASETS->CHOOSE OUR DATATABLE->CLICK >> -> CLICK FINISH

-------------------------

IN FORM

-ADD A COMBOBOX
-ADD A CRYSTAL REPORT VIEWER
-ADD using System.Data.SqlClient;
using CrystalDecisions.CrystalReports.Engine;



SqlConnection con = new SqlConnection("server=.;database=sam;integrated security=true");
SqlCommand cmd;
SqlDataReader dr;
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();

private void Form1_Load(object sender, EventArgs e)
{
cmd = new SqlCommand("select distinct(idd) from a", con);
con.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
comboBox1.Items.Add(dr[0].ToString());

}
dr.Close();
con.Close();
}

============================================
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
da = new SqlDataAdapter("select * from a where idd='" + comboBox1.SelectedItem.ToString() + "'", con);
ds.Clear();
da.Fill(ds, "dt");//DT IS DATATABLE NAME IN DATASET

CrystalReport1 c = new CrystalReport1();
c.SetDataSource(ds);
crystalReportViewer1.ReportSource = c;

}
====================================



WEB APPLICATION
=========================

ADD A DATASET
- IN THAT DATASET RIGHT CLICK AND CHOOSE DATA TABLE.
- IN THAT DATATALE RIGHT CLICK AND ADD COLUMN(GIVE DATABASE TABLE COLUMN NAMES AS DATATABLE COLUMN NAME) ANT THEN SAVE

-ADD CRYSTAL REPORT AND CHOOSE AS BLANK REPORT
-THEN IN THAT CRYSTAL REPORT GOTO FILED EXPLORER AND THEN RIGHT CLIK IN DATABASE FIELDS->
CHOOSE DATABASE EXPERT
- THEN A WIZARD IS COME THEN GOTO PROJECT DATA->ADO.NET DATASETS->CHOOSE OUR DATATABLE->CLICK >> -> CLICK FINISH

===================================

IN PAGE

using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.ReportSource;
using System.Data.SqlClient;


SqlConnection con = new SqlConnection("server=.;database=sam;integrated security=true");
SqlCommand cmd;
SqlDataReader dr;
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
protected void DropDownList1_Init(object sender, EventArgs e)
{
cmd = new SqlCommand("select distinct(idd) from a", con);
con.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
DropDownList1.Items.Add(dr[0].ToString());

}
dr.Close();
con.Close();

}
====================================

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
da = new SqlDataAdapter("select * from a where idd='" + DropDownList1.SelectedItem.ToString() + "'", con);
ds.Clear();
da.Fill(ds, "dt");
ReportDocument r = new ReportDocument();

r.Load(Server.MapPath("CrystalReport.rpt"));
r.SetDataSource(ds);
CrystalReportViewer1.ReportSource = r;
}
====================================


URLS

http://www.beansoftware.com/ASP.NET-Tutorials/Using-Crystal-Reports.aspx

http://forums.asp.net/76.aspx

http://www.highoncoding.com/Articles/550_Creating_Crystal_Report_in_ASP_NET.aspx

http://www.c-sharpcorner.com/UploadFile/rsubhajit/CrystalReportwithDataSet03012006060655AM/CrystalReportwithDataSet.aspx

http://aspalliance.com/776

http://www.aspfree.com/c/a/ASP.NET/Working-with-ADONET-Datasets-and-NET-Objects-using-Crystal-Reports-and-ASP-NET-2-0/1/

http://www.codeproject.com/KB/aspnet/crystal_report.aspx

No comments:

Post a Comment