public void Dispose() { CutEventOff(); this.CurrentReport = null; this._dataSource = null; this._groupName = null; this._preReport = null; this.SelectedDataRange = null; this.SubReport = null; GC.Collect(); }
public ReportGenerator(DataTable dataSource, Option <string> groupName, string reportName = null) : this(reportName) { if (dataSource == null || dataSource.Rows.Count == 0) { throw new ArgumentNullException("dataSource"); } this._preReport = null; this._dataSource = dataSource; this._groupName = groupName; this._isRootReport = true; GenerateReport(); }
public void ChangePreReport(ReportGenerator preReport, DataTable dataSource) { if (preReport == null) { throw new ArgumentNullException("preReport"); } if (this._preReport != null) { this.CurrentReportDestroying -= _preReport.DropSubReport; } this._preReport = preReport; this.CurrentReportDestroying += _preReport.DropSubReport; this._dataSource = dataSource; GenerateReport(); }
public ReportGenerator(DataTable dataSource, Option<string> groupName, string reportName = null) : this(reportName) { if (dataSource == null || dataSource.Rows.Count == 0) { throw new ArgumentNullException("dataSource"); } this._preReport = null; this._dataSource = dataSource; this._groupName = groupName; this._isRootReport = true; GenerateReport(); }
public void ChangeSubReport(ReportGenerator subReport) { if (this.SubReport != null) { this.SelectedDataRangeChanged -= this.SubReport.DataSourceChanged; } if (subReport == null) { this.SubReport = null; } else { this.SubReport = subReport; this.SelectedDataRangeChanged += this.SubReport.DataSourceChanged; } }
public ReportGenerator AddSubReport(Option <string> groupName, string reportName = null) { ReportGenerator sub = new ReportGenerator(reportName); if (SubReport != null) { var grandson = SubReport; this.ChangeSubReport(sub); sub.ChangePreReport(this, this.SelectedDataRange); sub.ChangeSubReport(grandson); grandson.ChangePreReport(sub, sub.SelectedDataRange); } else { this.ChangeSubReport(sub); sub.ChangePreReport(this, this.SelectedDataRange); } return(sub); }
public ReportGenerator AddSubReport(Option<string> groupName, string reportName = null) { ReportGenerator sub = new ReportGenerator(reportName); if (SubReport != null) { var grandson = SubReport; this.ChangeSubReport(sub); sub.ChangePreReport(this, this.SelectedDataRange); sub.ChangeSubReport(grandson); grandson.ChangePreReport(sub, sub.SelectedDataRange); } else { this.ChangeSubReport(sub); sub.ChangePreReport(this, this.SelectedDataRange); } return sub; }
/// <summary> /// drop the sub report link, and then link to the grandson report if it existed. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void DropSubReport(object sender, EventArgs e) { if (SubReport.SubReport != null) { var grandsonReport = SubReport.SubReport; this.ChangeSubReport(grandsonReport); grandsonReport.ChangePreReport(this, this.SelectedDataRange); this.SubReport = grandsonReport; } else { this.SubReport = null; } }