Hi,
See this coding if could help...
Example:
In code behind:
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.Data;
using XP.Tools;
public partial class Report1 : System.Web.UI.Page
{
#region "Declaration Report Document and DataSet"
ReportDocument crpt = new ReportDocument();
string rptLoc = String.Empty;
DataSet1 ds = new DataSet1();
#endregion
#region "Methods for Adding a parameters"
private void AddParameter(ReportDocument reportDocument, string value, string parameterName)
{
ParameterFieldDefinitions prmDef = reportDocument.DataDefinition.ParameterFields;
ParameterValues prmVal = new ParameterValues();
ParameterDiscreteValue prmDiscreteVal = new ParameterDiscreteValue();
prmDiscreteVal.Value = value;
prmVal.Add(prmDiscreteVal);
ParameterFieldDefinition prmFD = prmDef[parameterName];
try
{
prmFD.ApplyCurrentValues(prmVal);
prmFD.ApplyDefaultValues(prmVal);
}
catch (Exception)
{
Response.Redirect("~\\Login.aspx");
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
CrystalReportViewer1.ReportSourceID = "CrystalReportSource1";
CrystalReportSource1.Report.FileName = Server.MapPath("") + "\\CReport\\ClaimStatementIP.rpt";
rptLoc = CrystalReportSource1.Report.FileName;
crpt.Load(rptLoc);
crpt.SetDataSource(ds);
AddParameter(crpt, "Client Card Number", "CardNumber");
AddParameter(crpt, "Client Policy Number", "PolicyOwner");
DataTable dt = new DataTable();
dt = GetBenefits();
ds.dtCPT.Clear();
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow row;
row = ds.dtCPT.NewRow();
row["Description"] = dt.Rows[i]["Description"];
row["ActualCharges"] = dt.Rows[i]["ActualCharges"];
ds.dtCPT.Rows.Add(row);
}
CrystalReportViewer1.ReportSource = crpt;
}
}
private DataTable GetBenefits()
{
DataTable dt = new DataTable();
return dt;
}
}
Hope this could help...
Regards,