报表加载要
rptDoc.ReFresh();
应该是这个原因。
如果还不行,就要重新加载报表。。

解决方案 »

  1.   

    谢谢!这个方法我也试了,不行!不过现在知道原因了!!好像是button的单击事件(我是在这里给参数赋值的)和调用报表加载、赋参数等事件的页面PreRender事件之前,但在load时间之前执行,所以出现了上面的情况!!
      

  2.   

    自己跟自己开了个玩笑啊,呵呵
    水晶报表就是这样,把数据完整加载后,才能很好的工作,建议你该用其他的报表,例如:
    Active Report
      

  3.   

    Dim report As TheRpt = New TheRpt 
      report.SetDataSource(aDataSet)' 为参数字段赋值
     Dim paramFields As New CrystalDecisions.Shared.ParameterFields
     Dim paramField As New CrystalDecisions.Shared.ParameterField
     Dim discreteVal As New CrystalDecisions.Shared.ParameterDiscreteValue paramField.ParameterFieldName = "你的参数字段名"
     discreteVal.Value = "你想传给参数字段的值"
     paramField.CurrentValues.Add(discreteVal)
     paramFields.Add(paramField)
     CrystalReportViewer1.ParameterFieldInfo = paramFields CrystalReportViewer1.ReportSource = report
      

  4.   

    ParameterFields paramFields = new ParameterFields ();
    ParameterField paramField = new ParameterField ();
    ParameterDiscreteValue discreteVal = new ParameterDiscreteValue ();

    paramField.ParameterFieldName = "参数名称";
    discreteVal.Value = "参数值";
    paramField.CurrentValues.Add (discreteVal);
    paramFields.Add(paramField);



    Rpt=new ReportDocument();
    Rpt.Load(@"报表路径");
    crystalReportViewer1.ParameterFieldInfo = paramFields;
    crystalReportViewer1.ReportSource =Rpt;