方法一、水晶报表中有参数字段,你可以在报表中引用这些参数字段去得到你所要的记录。你可以把参数字段传到报表中。   
  方法二、向水晶报表传入DataSet。这里你可以先在程序中处理你的参数,得到相应的记录集,再传给报表。在水晶报表中放个文本字段世纪末   txtYears   
  ((TextObject)reportDoc.ReportDefinition.ReportObjects["txtYears"]).Text   =     
  "2003-1-1"

解决方案 »

  1.   

    给你个用选择公式的例子:   
      1、构造选择公式   
      string   selectFormula   =     
      "{yourTableName.yourDateFieldName}   =   DateTime(2203,1,1)";   
      yourTableName是你的数据表名字,yourDateFieldName是你的表里的日期字段名字.   
        
      2、将选择公式赋值给CrystalReportViewer   
      CrystalReportViewer1.SelectionFormula   =   selectFormula;   
        
      3、显示报表   
      CrystalReportViewer1.Load(@"D:\xxx\xxx.rpt");   
      或者CrystalReportViewer1.ReportSource   =   reportDocument1;   
      总之用一种方法显示就好了.   
        
        
      至于把数据传到报表里也有很多方法,最简单你可以在报表里加个文本对象,然后在代码里面设定那个文本对象值为用户选择的日期.   
      还有一种方法是你做报表的时候就根据日期分组.   
      

  2.   

    狂顶!!!! 找了好久,,,haoanzi 厉害了
      

  3.   

    http://topic.csdn.net/u/20090705/14/745f6153-e120-41af-a28b-75b09355b663.html?27008可参考这个里面的图文教程