Example #1
0
        private MemoryStream ExportRDLC(BaseDeviceInfoSettings exportTypeSetting, string deviceInfoXml, DataTable _dataSet, out IReportExporter winFormsReportExporter, out LocalReport localReport)
        {
            if (_dataSet != null)
            {
                this.m_dataSet = _dataSet;
            }

            GetColumns();
            DateTime startTime = DateTime.Now;
            localReport = new LocalReport();
            localReport.DisplayName = string.IsNullOrEmpty(Rdl.PageHeaderText) ? "Report" : Rdl.PageHeaderText;
            localReport.LoadReportDefinition(m_rdl);
            localReport.DataSources.Add(new ReportDataSource("MyData", m_dataSet));
            winFormsReportExporter = new WinFormsReportExporter(localReport);
            MemoryStream content;

            if (exportTypeSetting is ExcelDeviceInfoSettings)
            {
                content = winFormsReportExporter.ExportToXls(deviceInfoXml);
            }
            else if (exportTypeSetting is PdfDeviceInfoSettings)
            {
                content = winFormsReportExporter.ExportToPdf(deviceInfoXml);
            }
            else if (exportTypeSetting is ImageDeviceInfoSettings)
            {
                content = winFormsReportExporter.ExportToImage(deviceInfoXml);
            }
            else if (exportTypeSetting is WordDeviceInfoSettings)
            {
                content = winFormsReportExporter.ExportToWord(deviceInfoXml);
            }
            else
            {
                throw new ApplicationException("Unknown export type format");
            }

            TimeSpan totalTime = DateTime.Now - startTime;
            return content;
        }