/// <summary> /// Retreive ReportDataAdapter's list of for dataset tables /// </summary> public List<IReportDataAdapter> GetAdapters() { Dictionary<DataTable, IReportDataAdapter> dataTableAdapters = new Dictionary<DataTable, IReportDataAdapter>(); foreach (DataTable dataTable in dataSet.Tables) { IReportDataAdapter dataTableAdapter = CreateAdapter(dataTable); if (dataTableAdapter != null) { dataTableAdapters.Add(dataTable, dataTableAdapter); } } List<IReportDataAdapter> reorderedAdapterList; ReorderAdapters(dataTableAdapters, out reorderedAdapterList); List<IReportDataAdapter> toRet = null; if (reorderedAdapterList != null) { toRet = reorderedAdapterList; } else { toRet = new List<IReportDataAdapter>(); foreach (IReportDataAdapter dataTableAdapter in dataTableAdapters.Values) { toRet.Add(dataTableAdapter); } } return toRet; }
/// <summary> /// Build report for DataGridView content. /// Call this method if you have already set all required parameters. /// </summary> /// <returns>Report</returns> public ReportBase GenerateReport() { _report = new ReportBase(); for (int aIndex = 0; aIndex < reportDataAdapterCollection.Count; aIndex++) { IReportDataAdapter rdAdapter = reportDataAdapterCollection[aIndex]; string subreportName = "Report" + (aIndex + 1).ToString(); SingleReportDataSourceBuilder srdcBuilder = new SingleReportDataSourceBuilder(rdAdapter); ReportBase subReport = srdcBuilder.GenerateReport(); subReport.Name = subreportName; _report.SubReports.Add(subReport); this.reportBuilder.AddSubReport(subreportName); } _report.ExportedTable.Columns.Add("DummyColumn", typeof(string)); reportBuilder.AddDataSource(_report.ExportedTable); string GeneratedRDLC = reportBuilder.BuildRDLC(); _report.Rdlc = GeneratedRDLC; #if DEBUG DateTime currentTime = DateTime.Now; string strTime = string.Format("{0}-{1}_{2}-{3}-{4}", currentTime.Day, currentTime.Month, currentTime.Hour, currentTime.Minute, currentTime.Second); string tempFileName = Path.Combine( Path.GetTempPath(), string.Format("testMainReportExport{0}.rdlc", strTime)); File.WriteAllText(tempFileName, GeneratedRDLC, Encoding.Unicode); #endif return(_report); }
public WinFormsReportExporter(IReportDataAdapter _reportDataAdapter) { reportDataAdapter = _reportDataAdapter; SingleMode = true; }
public SingleReportDataSourceBuilder(IReportDataAdapter _reportDataAdapter) { reportBuilder = new ReportBuilder(); reportDataAdapter = _reportDataAdapter; }