Passing parameters to Crystal Reports at runtime with c#

By Shashi Ray Jan 21, 2008
This blog explains you how to pass parameters to crystal reports at runtime while using c#.

If you take a look at the end of the Page_Load function, we have called a method ReportParameter(). This method will actually add/send the parameters to our report.


using CrystalDecisions.CrystalReports.Engine;

using CrystalDecisions.Shared;

public partial class _Default : System.Web.UI.Page


    SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["aaa"]);

    Class1 dbc = new Class1();


    protected void Page_Load(object sender, EventArgs e)


        CrystalReportViewer1.LogOnInfo[0].ConnectionInfo.ServerName = "nic";

        CrystalReportViewer1.LogOnInfo[0].ConnectionInfo.UserID = "sa";

        CrystalReportViewer1.LogOnInfo[0].ConnectionInfo.Password = "sa";

        CrystalReportViewer1.LogOnInfo[0].ConnectionInfo.DatabaseName = "abcde";



    private void ReportParameter()



        ParameterFields paramFields = new ParameterFields();

        ParameterField pfItemYr = new ParameterField();

        pfItemYr.ParameterFieldName = "year"; //year is Crystal Report Parameter name.

        ParameterDiscreteValue dcItemYr = new ParameterDiscreteValue();

        dcItemYr.Value = DropDownList1.SelectedValue;



        CrystalReportViewer1.ParameterFieldInfo = paramFields;



Shashi Ray
Shashi Ray

I m a MCA Post Graduate. i m a .NET developer working in the National Informatics Centre, Yojana Bhavan Unit (Govt. of India) I am working in .net since last 4.5 years.