即使在我从c#代码提供参数后,如何停止在运行时请求参数的水晶报告?

时间:2016-03-31 13:24:52

标签: c# asp.net crystal-reports

我已经从后面的代码中提供了参数,如下所示,但每次运行时,crystal report仍然会请求参数。我缺少一段代码吗?

    string connectionString = WebConfigurationManager.ConnectionStrings["SCHOOLConnectionString"].ConnectionString;
    SqlDataAdapter DA;
    SqlDataAdapter dataAdap;
    DataSet DS = new DataSet();
    DataSet dataSet = new DataSet();
    ReportDocument RD = new ReportDocument();
    SqlConnection myConnection = new SqlConnection(connectionString);
    myConnection.Open();
    DA = new SqlDataAdapter("SELECT * FROM Exams WHERE AdmissionNo='RLA 0034'", myConnection);
    DA.Fill(DS);
    dataAdap = new SqlDataAdapter("SELECT * FROM RESULT WHERE AdmissionNo='RLAS  0005'", myConnection);
    dataAdap.Fill(dataSet);
    RD.Load(Server.MapPath("~/CrystalReport1.rpt"));
    RD.SetParameterValue("PicPath",@"C:\Users\Me\Pictures\abu.jpg");
    RD.DataSourceConnections.Clear();
    RD.SetDataSource(DS.Tables[0]);
    RD.Subreports[0].DataSourceConnections.Clear();
    RD.Subreports[0].SetDataSource(dataSet.Tables[0]);
    CrystalReportViewer1.ReportSource = RD;
    CrystalReportViewer1.DataBind();

2 个答案:

答案 0 :(得分:1)

我认为你应该在加载报告之前使用SetReportSource方法,然后使用SetParameterValue。

答案 1 :(得分:1)

根据我对Crystal SDK的经验,除非您设置报告具有的所有参数,否则它将始终在运行时弹出。仔细检查报告,确保您没有遗漏任何内容。