以前曾经提问过为何水晶报表只能翻到第二页。现在问题解决了,有人给我发信息问如何解决,现在贴出来,希望大家指点,找到更好的解决方案,
Cry2 cry=new Cry2();
cry.SetDataSource(DisDs.Tables[0]);
if(this.flag==true)
{
////////////////////////////////////////////////////////////////////////////////
#region 参数
ParameterFields paramFields = new ParameterFields ();
ParameterField paramField0 = new ParameterField ();
ParameterDiscreteValue discreteVal0 = new ParameterDiscreteValue ();
paramField0.ParameterFieldName = "dwmc";//参数名
discreteVal0.Value = this.LabMC.Text;//参数值
paramField0.CurrentValues.Add (discreteVal0);//将参数值绑定到具体的参数
paramFields.Add (paramField0);//将参数写到参数组
this.CrystalReportViewer1.ParameterFieldInfo=paramFields;//将参数传递给水晶报表
#endregion
////////////////////////////////////////////////////////////////////////////////
}
this.CrystalReportViewer1.ReportSource=cry;关键的地方就是if(this.flag==true)。声明一个public bool类型的变量flag,初始值为false;
在Page_Load中的if(!IsPostBack)中写this.flag=true;
这样就能实现带参数的翻页了。