水晶报告导航按钮不显示第三页的页面 [英] crystal report navigation button does not show pages from third page
问题描述
我的代码是......
string str =select * FROM+ Session [User] +_ShedData;
DataSet ds = new DataSet();
ds = cn.ExecuteDataset(str);
ReportDocument rd = new ReportDocument();
TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
ConnectionInfo crConnectionInfo = new ConnectionInfo();
表格CrTables;
//传递参数值************************** ************
会话[dt1] = txtfrmDt.Text.ToString();
会话[dt2] = txttoDt.Text.ToString();
string dtrpt = txtfrmDt.Text.ToString();
string dtrpt1 = txttoDt.Text。 ToString();
//创建参数对象
ParameterFields myParams = new P arameterFields();
ParameterField myParam = new ParameterField();
ParameterField myParam1 = new ParameterField();
ParameterField myParamprd = new ParameterField( ); $
ParameterDiscreteValue myDiscreteValue = new ParameterDiscreteValue();
ParameterDiscreteValue myDiscreteValue1 = new ParameterDiscreteValue();
ParameterDiscreteValue myDiscreteValueprd = new ParameterDiscreteValue();
//将ParameterFieldName设置为参数名称
//在Field Explorer中创建
myParam.ParameterFieldName =dtfrm;
myParam1.ParameterFieldName =dtto;
myParamprd。 ParameterFieldName =prd;
//添加值
myDiscreteValue.Value = Session [dt1]。ToString(); / / dtrpt;
myDisc reteValue1.Value = Session [dt2]。ToString(); // dtrpt1;
myDiscreteValueprd.Value = ddProdID.SelectedItem.Text.ToString();
myParam.CurrentValues.Add(myDiscreteValue);
myParam1.CurrentValues.Add(myDiscreteValue1);
myParamprd.CurrentValues.Add(myDiscreteValueprd);
//将pararam对象添加到params集合
myParams.Add(myParam);
myParams.Add (myParam1);
myParams.Add(myParamprd);
//将params集合分配给报表查看器
RegStack.ParameterFieldInfo = myParams;
//传递参数值结束******************* *****************************************
< br $>
rd.Load(Server.MapPath(StackCardRpt.rpt));
rd.SetDataSource(ds.Tables [0]) ;
crConnectionI nfo.ServerName =192.168.1.111;
crConnectionInfo.DatabaseName =FCI;
crConnectionInfo.UserID =Alka;
crConnectionInfo.Password =tenet#123;
CrTables = rd.Database.Tables;
foreach(CrystalDecisions.CrystalReports.Engine。 CrTable中的表CrTable)
{
crtableLogoninfo = CrTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
CrTable.ApplyLogOnInfo(crtableLogoninfo);
}
RegStack.ReportSource = rd;
// string delStr =从RegisterStack中删除;
//con.InsertUpdateDelete(delStr);
RegStack。 ReuseParameterValuesOnRefresh = true;
RegStack.ParameterFieldInfo = myParams;
My code is...
string str = "select * FROM " + Session["User"] + "_ShedData";
DataSet ds = new DataSet();
ds = cn.ExecuteDataset(str);
ReportDocument rd = new ReportDocument();
TableLogOnInfos crtableLogoninfos = new TableLogOnInfos();
TableLogOnInfo crtableLogoninfo = new TableLogOnInfo();
ConnectionInfo crConnectionInfo = new ConnectionInfo();
Tables CrTables;
//Pass parameter value**************************************
Session["dt1"] = txtfrmDt.Text.ToString();
Session["dt2"] = txttoDt.Text.ToString();
string dtrpt = txtfrmDt.Text.ToString();
string dtrpt1 = txttoDt.Text.ToString();
// Create parameter objects
ParameterFields myParams = new ParameterFields();
ParameterField myParam = new ParameterField();
ParameterField myParam1 = new ParameterField();
ParameterField myParamprd = new ParameterField();
ParameterDiscreteValue myDiscreteValue = new ParameterDiscreteValue();
ParameterDiscreteValue myDiscreteValue1 = new ParameterDiscreteValue();
ParameterDiscreteValue myDiscreteValueprd = new ParameterDiscreteValue();
// Set the ParameterFieldName to the name of the parameter
// created in the Field Explorer
myParam.ParameterFieldName = "dtfrm";
myParam1.ParameterFieldName = "dtto";
myParamprd.ParameterFieldName = "prd";
// Add value
myDiscreteValue.Value = Session["dt1"].ToString();// dtrpt;
myDiscreteValue1.Value = Session["dt2"].ToString();// dtrpt1;
myDiscreteValueprd.Value = ddProdID.SelectedItem.Text.ToString();
myParam.CurrentValues.Add(myDiscreteValue);
myParam1.CurrentValues.Add(myDiscreteValue1);
myParamprd.CurrentValues.Add(myDiscreteValueprd);
// Add param object to params collection
myParams.Add(myParam);
myParams.Add(myParam1);
myParams.Add(myParamprd);
// Assign the params collection to the report viewer
RegStack.ParameterFieldInfo = myParams;
//Pass parameter value end************************************************************
rd.Load(Server.MapPath("StackCardRpt.rpt"));
rd.SetDataSource(ds.Tables[0]);
crConnectionInfo.ServerName = "192.168.1.111";
crConnectionInfo.DatabaseName = "FCI";
crConnectionInfo.UserID = "Alka";
crConnectionInfo.Password = "tenet#123";
CrTables = rd.Database.Tables;
foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
{
crtableLogoninfo = CrTable.LogOnInfo;
crtableLogoninfo.ConnectionInfo = crConnectionInfo;
CrTable.ApplyLogOnInfo(crtableLogoninfo);
}
RegStack.ReportSource = rd;
//string delStr = "delete from RegisterStack";
//con.InsertUpdateDelete(delStr);
RegStack.ReuseParameterValuesOnRefresh = true;
RegStack.ParameterFieldInfo = myParams;
推荐答案
你应该使用事件来实现代码..
尝试使用回发检查将DataBindings放在PageLoad上并进行检查。
-Thanks。
YOu should specify code with events..
Try to put DataBindings on PageLoad with postback checking and check it.
-Thanks.
这篇关于水晶报告导航按钮不显示第三页的页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!