/// <summary>
/// 返回向报表传入的参数及参数值。
/// </summary>
/// <param name="ParaName">为报表中的参数名</param>
/// <param name="ParaValue">为参数值</param>
/// <returns></returns>
private CrystalDecisions.Shared.ParameterField GenParameterField(string ParaName,string ParaValue){
    CrystalDecisions.Shared.ParameterField ParamField = new CrystalDecisions.Shared.ParameterField();
CrystalDecisions.Shared.ParameterValues ParamValues = new CrystalDecisions.Shared.ParameterValues();
CrystalDecisions.Shared.ParameterDiscreteValue ParamValue = new CrystalDecisions.Shared.ParameterDiscreteValue(); ParamValue.Value = ParaValue;
ParamValues.Add(ParamValue);
ParamField.ParameterFieldName = ParaName;  //参数名
ParamField.CurrentValues = ParamValues;

return ParamField;
}
调用(crv为查看报表的控件)
ParameterFields ParamFields = new ParameterFields();ParamFields.Add(GenParameterField("报表中的参数", "参数的值");
ParamFields.Add(GenParameterField("报表中的参数", "参数的值");

crv.ParameterFieldInfo = ParamFields;
crv.ReportSource = 报表名;

解决方案 »

  1.   

    我按照您的方法如:设置2个参数“From”“to”在报表中,建立一个
    页面程序为:Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码
            Dim ParamFields As ParameterFields = New ParameterFields()
            ParamFields.Add(GenParameterField("From", "2002-07-15"))
            ParamFields.Add(GenParameterField("to", "2002-07-25"))
            Me.CrystalReportViewer1.ParameterFieldInfo = ParamFields
            Me.CrystalReportViewer1.ReportSource = "C:\Inetpub\wwwroot\webotis\crystalreports\Rpttestpara.rpt"    End Sub    Public Function GenParameterField(ByVal ParaName As String, ByVal ParaValue As String) As CrystalDecisions.Shared.ParameterField
            Dim ParamField As CrystalDecisions.Shared.ParameterField
            Dim ParamValues As CrystalDecisions.Shared.ParameterValues
            Dim ParamValue As CrystalDecisions.Shared.ParameterDiscreteValue
            ParamField = New CrystalDecisions.Shared.ParameterField()
            ParamValues = New CrystalDecisions.Shared.ParameterValues()
            ParamValue = New CrystalDecisions.Shared.ParameterDiscreteValue()        ParamValue.Value = ParaValue
            ParamValues.Add(ParamValue)
            ParamField.ParameterFieldName = ParaName  '参数名
            ParamField.CurrentValues = ParamValues        Return ParamField
        End Function
    但是报错,请帮我看看,好吗?