private void detail_Format(object sender, EventArgs e) { //string strSql1 = "SELECT EXAMLIST.ELNAME, SiteInfo.siName, T_PSSBSchema.seatnum, ExamOrder.eoBegin, ExamOrder.eoEnd FROM T_PSSBSchema INNER JOIN SiteInfo ON T_PSSBSchema.siID = SiteInfo.siID INNER JOIN ExamOrder ON SiteInfo.siID = ExamOrder.siID INNER JOIN EXAMLIST ON T_PSSBSchema.elID = EXAMLIST.ELID AND ExamOrder.elID = EXAMLIST.ELID WHERE (T_PSSBSchema.examID = '" + this.label9.Text + "')"; string strSql = @"SELECT ExamList.elName, SiteInfo.siName, ExamUser.seatnum, ExamOrder.eoBegin, ExamOrder.eoEnd FROM ExamUser INNER JOIN SiteInfo ON ExamUser.siID = SiteInfo.siID INNER JOIN ExamOrder ON SiteInfo.siID = ExamOrder.siID INNER JOIN ExamList ON ExamUser.elID = ExamList.elID AND ExamOrder.elID = ExamList.elID WHERE (ExamUser.examID = '" + this.label9.Text + "')"; strSql = strSql.Replace("\r", " ").Replace("\n", " "); DataTable myDT = SQLHelper.GetDataSet(strSql).Tables[0]; Time2CharConvert(myDT, "eoBegin", "f"); Time2CharConvert(myDT, "eoEnd", "t"); this.srptKaoChang.Report.DataSource = myDT; this.srptKaoChang.Report.DataMember = myDT.TableName; //((DataDynamics.ActiveReports.DataSources.SqlDBDataSource)this.srptKaoChang.Report.DataSource).ConnectionString = "data source=127.0.0.1;initial catalog=kuaiji;password=sa;persist security info=True;user id=sa"; //((DataDynamics.ActiveReports.DataSources.SqlDBDataSource)this.srptKaoChang.Report.DataSource).SQL = "SELECT EXAMLIST.ELNAME, SiteInfo.siName, T_PSSBSchema.seatnum, ExamOrder.eoBegin, ExamOrder.eoEnd FROM T_PSSBSchema INNER JOIN SiteInfo ON T_PSSBSchema.siID = SiteInfo.siID INNER JOIN ExamOrder ON SiteInfo.siID = ExamOrder.siID INNER JOIN EXAMLIST ON T_PSSBSchema.elID = EXAMLIST.ELID AND ExamOrder.elID = EXAMLIST.ELID WHERE (T_PSSBSchema.examID = '" + this.label9.Text + "')"; }
10、选择报表主体,添加ReportStart和ReportEnd事件。
rptKaoChang _rptKaoChang = null;
private void rptZhunKaoZheng_ReportStart(object sender, EventArgs e) { //Check to see if the holder subreport object is assigned, if not create it //Creating the subreport here will only create one instance to use if (_rptKaoChang == null) { _rptKaoChang = new rptKaoChang(); this.srptKaoChang.Report = _rptKaoChang; this.srptKaoChang.Report.DataSource = new DataDynamics.ActiveReports.DataSources.SqlDBDataSource(); } } private void rptZhunKaoZheng_ReportEnd(object sender, EventArgs e) { //clean up existing subreport document object _rptKaoChang.Document.Dispose(); //clean up existing subreport object _rptKaoChang.Dispose(); //Reset subreport to null, so if this report is called again it will reinit inside the section format event _rptKaoChang = null; }