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
1 using System;
2 using System.Data;
3 using System.Data.SqlClient;
4 using System.Web.Configuration;
5 using System.Configuration;
6 using System.Web;
7 using System.Web.Security;
8 using System.Web.UI;
9 using System.Web.UI.WebControls;
10 using System.Web.UI.WebControls.WebParts;
11 using System.Web.UI.HtmlControls;
12 using CrystalDecisions.CrystalReports.Engine;
13 using CrystalDecisions.Shared;
14 using dsShippingSummByProductTableAdapters;
15
16 public partial class Admin_AdminCrShippingSummByProduct : System.Web.UI.Page
17 {
18 string fDate;
19 string tDate;
20 string viewBy;
21 string fullName;
22 ReportDocument report = new ReportDocument();
23 ParameterFields pfields = new ParameterFields();
24
25 protected void Page_Load(object sender, EventArgs e)
26 {
27 fDate = Session["FDATE"].ToString();
28 tDate = Session["TDATE"].ToString();
29 viewBy = Session["VIEWBY"].ToString();
30
31 string staffID = "0000000001"; //Integrate remove this line
32 Session["staffID"] = staffID; //Integrate remove this line
33 Session["StaffID"] = Session["staffID"];
34
35 string strConn = "Data Source=MIXAR-PC;Initial Catalog=StockProductInfo;Integrated Security=True";
36
37 SqlConnection Conn = new SqlConnection(strConn);
38 if (Conn.State == ConnectionState.Open)
39 {
40 Conn.Close();
41 }
42 Conn.ConnectionString = strConn;
43 Conn.Open();
44
45 string sqlStaffName = "select Staff_FName, Staff_LName ";
46 sqlStaffName += "from masStaff ";
47 sqlStaffName += "where Staff_ID = " + Session["StaffID"].ToString();
48
49 SqlDataAdapter daStaff = new SqlDataAdapter(sqlStaffName, Conn);
50 DataSet dsStaff = new DataSet();
51 daStaff.Fill(dsStaff, "Staff");
52
53 string fName = dsStaff.Tables["Staff"].Rows[0]["Staff_FName"].ToString();
54 string lName = dsStaff.Tables["Staff"].Rows[0]["Staff_LName"].ToString();
55 fullName = fName + " " + lName;
56
57 ParameterField pfieldFDATE = new ParameterField();
58 ParameterDiscreteValue disValFDATE = new ParameterDiscreteValue();
59 disValFDATE.Value = DateTime.Parse(fDate);
60 pfieldFDATE.Name = "FDate";
61 pfieldFDATE.CurrentValues.Add(disValFDATE);
62
63 ParameterField pfieldTDATE = new ParameterField();
64 ParameterDiscreteValue disValTDATE = new ParameterDiscreteValue();
65 disValTDATE.Value = DateTime.Parse(tDate);
66 pfieldTDATE.Name = "TDate";
67 pfieldTDATE.CurrentValues.Add(disValTDATE);
68
69 ParameterField pfieldVIEWBY = new ParameterField();
70 ParameterDiscreteValue disValVIEWBY = new ParameterDiscreteValue();
71 disValVIEWBY.Value = viewBy;
72 pfieldVIEWBY.Name = "ViewBy";
73 pfieldVIEWBY.CurrentValues.Add(disValVIEWBY);
74
75 ParameterField pfieldSTAFF = new ParameterField();
76 ParameterDiscreteValue disValSTAFF = new ParameterDiscreteValue();
77 disValSTAFF.Value = fullName;
78 pfieldSTAFF.Name = "StaffName";
79 pfieldSTAFF.CurrentValues.Add(disValSTAFF);
80
81 pfields.Add(pfieldFDATE);
82 pfields.Add(pfieldTDATE);
83 pfields.Add(pfieldVIEWBY);
84 pfields.Add(pfieldSTAFF);
85
86 CrystalReportViewer1.ParameterFieldInfo = pfields;
87
88 crvBinding();
89 }
90 private void crvBinding()
91 {
92 report.Load(Server.MapPath("../SalesReport/ShippingSummByProductReport.rpt"));
93
94 SPShipSummByProductTableAdapter adapter = new SPShipSummByProductTableAdapter();
95 CrystalReportManager crManager = new CrystalReportManager(report, adapter.GetData(fDate,tDate));
96
97 CrystalReportViewer1.ReportSource = crManager.Report;
98 CrystalReportViewer1.Visible = true;
99 }
100 protected void CrystalReportViewer1_ViewZoom(object source, CrystalDecisions.Web.ZoomEventArgs e)
101 {
102 crvBinding();
103 }
104 protected void CrystalReportViewer1_Search(object source, CrystalDecisions.Web.SearchEventArgs e)
105 {
106 crvBinding();
107 }
108 protected void CrystalReportViewer1_Navigate(object source, CrystalDecisions.Web.NavigateEventArgs e)
109 {
110 crvBinding();
111 }
112 }
113
how can i pass 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) ?
or has another way to pass value
thanks for the answer