Parameter Field with C#

mixarstudio

New member
Local time
Today, 11:10
Joined
May 17, 2009
Messages
1
i have some problem when i pass values to my crystal report page

basically, on page load first time i can bind and show the report

but the problem is here...

when i click on export, print, next/previous page, zoom, navigate

my page told me "Missing parameter value"

here is all of my code

Code:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.Configuration;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using dsShippingSummByProductTableAdapters;

public partial class Admin_AdminCrShippingSummByProduct : System.Web.UI.Page
{
    string fDate;
    string tDate;
    string viewBy;
    string fullName;
    ReportDocument report = new ReportDocument();
    ParameterFields pfields = new ParameterFields();

    protected void Page_Load(object sender, EventArgs e)
    {
        fDate = Session["FDATE"].ToString();
        tDate = Session["TDATE"].ToString();
        viewBy = Session["VIEWBY"].ToString();

        string staffID = "0000000001";              //Integrate remove this line 
        Session["staffID"] = staffID;               //Integrate remove this line 
        Session["StaffID"] = Session["staffID"];

        string strConn = "Data Source=MIXAR-PC;Initial Catalog=StockProductInfo;Integrated Security=True";

        SqlConnection Conn = new SqlConnection(strConn);
        if (Conn.State == ConnectionState.Open)
        {
            Conn.Close();
        }
        Conn.ConnectionString = strConn;
        Conn.Open();

        string sqlStaffName = "select Staff_FName, Staff_LName ";
        sqlStaffName += "from masStaff ";
        sqlStaffName += "where Staff_ID = " + Session["StaffID"].ToString();

        SqlDataAdapter daStaff = new SqlDataAdapter(sqlStaffName, Conn);
        DataSet dsStaff = new DataSet();
        daStaff.Fill(dsStaff, "Staff");

        string fName = dsStaff.Tables["Staff"].Rows[0]["Staff_FName"].ToString();
        string lName = dsStaff.Tables["Staff"].Rows[0]["Staff_LName"].ToString();
        fullName = fName + " " + lName;

        ParameterField pfieldFDATE = new ParameterField();
        ParameterDiscreteValue disValFDATE = new ParameterDiscreteValue();
        disValFDATE.Value = DateTime.Parse(fDate);    
        pfieldFDATE.Name = "FDate";        
        pfieldFDATE.CurrentValues.Add(disValFDATE);
        
        ParameterField pfieldTDATE = new ParameterField();
        ParameterDiscreteValue disValTDATE = new ParameterDiscreteValue();
        disValTDATE.Value = DateTime.Parse(tDate);    
        pfieldTDATE.Name = "TDate";
        pfieldTDATE.CurrentValues.Add(disValTDATE);

        ParameterField pfieldVIEWBY = new ParameterField();
        ParameterDiscreteValue disValVIEWBY = new ParameterDiscreteValue();
        disValVIEWBY.Value = viewBy;    
        pfieldVIEWBY.Name = "ViewBy";
        pfieldVIEWBY.CurrentValues.Add(disValVIEWBY);

        ParameterField pfieldSTAFF = new ParameterField();
        ParameterDiscreteValue disValSTAFF = new ParameterDiscreteValue();
        disValSTAFF.Value = fullName;
        pfieldSTAFF.Name = "StaffName";
        pfieldSTAFF.CurrentValues.Add(disValSTAFF);

        pfields.Add(pfieldFDATE);
        pfields.Add(pfieldTDATE);
        pfields.Add(pfieldVIEWBY);
        pfields.Add(pfieldSTAFF);
        
        crvBinding();
    }
    private void crvBinding()
    {
        CrystalReportViewer1.ParameterFieldInfo = pfields;

        report.Load(Server.MapPath("../SalesReport/ShippingSummByProductReport.rpt"));

        SPShipSummByProductTableAdapter adapter = new SPShipSummByProductTableAdapter();
        CrystalReportManager crManager = new CrystalReportManager(report, adapter.GetData(fDate,tDate));

        CrystalReportViewer1.ReportSource = crManager.Report;
        CrystalReportViewer1.Visible = true;
    }
    protected void CrystalReportViewer1_ViewZoom(object source, CrystalDecisions.Web.ZoomEventArgs e)
    {
        crvBinding();
    }
    protected void CrystalReportViewer1_Search(object source, CrystalDecisions.Web.SearchEventArgs e)
    {
        crvBinding();
    }
    protected void CrystalReportViewer1_Navigate(object source, CrystalDecisions.Web.NavigateEventArgs e)
    {
        crvBinding();
    }
}

how can i pass these values to parameter fields

when i click on export, print, previous/next page, navigate zoom

can anyone help me to correct my code

to support all functions(export, print, previous/next page, navigate zoom) ?



thanks for the answer
 

Users who are viewing this thread

Back
Top Bottom