Exemple #1
0
        protected virtual void RenderReport()
        {
            DataCommandService dataCommandDB = DataCommandService.GetInstance();
            PageDB             pageDB        = new PageDB();

            //get report data
            Hashtable dataItems = new Hashtable();

            foreach (CodeTorch.Core.ReportDataSource dataSource in Me.ReportDataSources)
            {
                DataTable data = GetData(dataCommandDB, pageDB, dataSource);
                dataItems.Add(dataSource.Name, data);
            }

            //render report
            string mime = null;
            string ext  = null;

            byte[] report = ReportFunctions.RenderReport(Me, dataItems, out mime, out ext);

            Page.Response.Expires = 0;
            Page.Response.Buffer  = true;
            Page.Response.Clear();
            Page.Response.ClearContent();
            Page.Response.ClearHeaders();
            Page.Response.AddHeader("Content-Disposition", String.Format("attachment;filename={0}.{1}", (String.IsNullOrEmpty(Me.ExportFileName) ? "export" : Me.ExportFileName), ext));
            Page.Response.ContentType = mime;
            Page.Response.BinaryWrite(report);
            Page.Response.End();
        }
Exemple #2
0
        private void LoadReportDefinition(LocalReport localReport)
        {
            string ConfigResourceDLL = ConfigurationManager.AppSettings["APPBUILDER_CONFIG_DLL_NAMESPACE"];
            string configNamespace   = ConfigurationManager.AppSettings["APPBUILDER_CONFIG_DLL_NAMESPACE"];

            Assembly assembly = Assembly.Load(ConfigResourceDLL);

            string reportPath = ReportFunctions.GetReportPath(Me.ReportName, Me.EnableLocalization, configNamespace);

            Stream stream = assembly.GetManifestResourceStream(reportPath);

            if (stream != null)
            {
                localReport.LoadReportDefinition(stream);
                localReport.EnableHyperlinks = Me.EnableHyperlinks;
            }
            else
            {
                throw new ApplicationException(String.Format("Report {0} could not be found.", reportPath));
            }
        }