我已经从后面的代码中提供了参数,如下所示,但每次运行时,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();
答案 0 :(得分:1)
我认为你应该在加载报告之前使用SetReportSource方法,然后使用SetParameterValue。
答案 1 :(得分:1)
根据我对Crystal SDK的经验,除非您设置报告具有的所有参数,否则它将始终在运行时弹出。仔细检查报告,确保您没有遗漏任何内容。