Esempio n. 1
0
        /// <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;
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 public WinFormsReportExporter(IReportDataAdapter _reportDataAdapter)
 {
     reportDataAdapter = _reportDataAdapter;
     SingleMode        = true;
 }
Esempio n. 4
0
 public SingleReportDataSourceBuilder(IReportDataAdapter _reportDataAdapter)
 {
     reportBuilder     = new ReportBuilder();
     reportDataAdapter = _reportDataAdapter;
 }