コード例 #1
0
        public ActionResult ExportDashboardToPdf(string DashboardID, string DashboardState)
        {
            using (MemoryStream stream = new MemoryStream()) {
                string         dashboardID    = DashboardID;
                DashboardState dashboardState = new DashboardState();

                dashboardState.LoadFromJson(DashboardState);

                DashboardPdfExportOptions pdfOptions = new DashboardPdfExportOptions();
                pdfOptions.ExportFilters          = true;
                pdfOptions.DashboardStatePosition = DashboardStateExportPosition.Below;

                string dateTimeNow = DateTime.Now.ToString("yyyyMMddHHmmss");
                string serverPath  = Server.MapPath(@"~/App_Data/Export");
                if (!Directory.Exists(serverPath))
                {
                    Directory.CreateDirectory(serverPath);
                }
                string filePath = Path.Combine(serverPath, dashboardID);
                string uniqueId = "_" + dateTimeNow + ".pdf";
                var    exporter = new WebDashboardExporter(DashboardConfigurator.Default);
                exporter.ExportToPdf(dashboardID, stream, new System.Drawing.Size(1024, 768), dashboardState, pdfOptions);
                SaveFile(stream, filePath + uniqueId);

                ContentResult result = new ContentResult();
                result.Content = filePath + uniqueId;
                return(result);
            }
        }
        protected void ASPxDashboard1_CustomDataCallback(object sender, DevExpress.Web.CustomDataCallbackEventArgs e)
        {
            using (MemoryStream stream = new MemoryStream()) {
                string         selectedDashboardID = e.Parameter.Split('|')[0];
                string         dashboardStateJson  = e.Parameter.Split('|')[1];
                DashboardState dashboardState      = new DashboardState();
                dashboardState.LoadFromJson(dashboardStateJson);

                DashboardPdfExportOptions pdfOptions = new DashboardPdfExportOptions();
                pdfOptions.ExportFilters          = true;
                pdfOptions.DashboardStatePosition = DashboardStateExportPosition.Below;

                string dateTimeNow             = DateTime.Now.ToString("yyyyMMddHHmmss");
                string filePath                = "~/App_Data/Export/" + selectedDashboardID + "_" + dateTimeNow + ".pdf";
                ASPxDashboardExporter exporter = new ASPxDashboardExporter(ASPxDashboard1);
                exporter.ExportToPdf(selectedDashboardID, stream, new System.Drawing.Size(1920, 1080), dashboardState, pdfOptions);
                SaveFile(stream, filePath);
                e.Result = filePath;
            }
        }
コード例 #3
0
        public ActionResult ExportDashboardToPdf(string DashboardID, string DashboardState)
        {
            using (MemoryStream stream = new MemoryStream()) {
                string         dashboardID    = DashboardID;
                DashboardState dashboardState = new DashboardState();
                dashboardState.LoadFromJson(DashboardState);

                DashboardPdfExportOptions pdfOptions = new DashboardPdfExportOptions();
                pdfOptions.ExportFilters          = true;
                pdfOptions.DashboardStatePosition = DashboardStateExportPosition.Below;

                string dateTimeNow             = DateTime.Now.ToString("yyyyMMddHHmmss");
                string filePath                = "~/App_Data/Export/" + dashboardID + "_" + dateTimeNow + ".pdf";
                ASPxDashboardExporter exporter = new ASPxDashboardExporter(DashboardConfigurator.Default);
                exporter.ExportToPdf(dashboardID, stream, new System.Drawing.Size(1024, 768), dashboardState, pdfOptions);
                SaveFile(stream, filePath);

                ContentResult result = new ContentResult();
                result.Content = filePath;
                return(result);
            }
        }
コード例 #4
0
        protected void ASPxButton1_Click(object sender, EventArgs e)
        {
            if (ASPxHiddenField1.Get("dashboardState") != null && ASPxHiddenField1.Get("filterItems") != null)
            {
                string   dashboardStateJson = ASPxHiddenField1.Get("dashboardState").ToString();
                string[] parameters         = ASPxHiddenField1.Get("filterItems").ToString().Split('|');

                MemoryStream resultStream = new MemoryStream();
                using (PdfDocumentProcessor documentProcessor = new PdfDocumentProcessor()) {
                    documentProcessor.CreateEmptyDocument(resultStream);
                    for (int i = 0; i < parameters.Length; i++)
                    {
                        DashboardState dashboardState = new DashboardState();
                        dashboardState.LoadFromJson(dashboardStateJson);
                        var filterItemState = dashboardState.Items.Where(item => item.ItemName == "comboBoxDashboardItem1").FirstOrDefault();
                        if (filterItemState != null)
                        {
                            filterItemState.MasterFilterValues.Clear();
                            filterItemState.MasterFilterValues.Add(new object[] { parameters[i] });
                        }
                        DashboardPdfExportOptions pdfOptions = new DashboardPdfExportOptions();
                        pdfOptions.ShowTitle = DevExpress.Utils.DefaultBoolean.False;
                        ASPxDashboardExporter exporter = new ASPxDashboardExporter(ASPxDashboard1);
                        using (MemoryStream stream = new MemoryStream())
                        {
                            exporter.ExportToPdf("Dashboard1", stream, new System.Drawing.Size(1024, 768), dashboardState, pdfOptions);
                            documentProcessor.AppendDocument(stream);
                        }
                    }
                }

                resultStream.Seek(0, SeekOrigin.Begin);
                Page.Response.Clear();
                Page.Response.ContentType = "application/pdf";
                Response.BinaryWrite(resultStream.ToArray());
                Page.Response.End();
            }
        }