DevExpress技术交流群3:700924826 欢迎一起进群讨论
DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。
DevExpress Dashboard附带许多导出设置/自定义选项,在本文中,将为大家介绍Dashboard数据导出引擎的最新增强功能。
v20.1和v20.2随附以下Dashboard导出增强功能:
- 扩展导出自定义API
- 使用XRControls(报告控件)导出最常用/受欢迎的Dashboard项目
自定义Export Customization API
由于DevExpress Dashboard附带高级自定义选项,因此最终用户可能希望在输出文档/导出文件中显示或导出自定义Dashboard设置。技术团队增强了导出自定义API,以解决此使用情况。
要自定义输出文档,您必须使用DevExpress Dashboard的DashboardControl.CustomExport事件。 此事件的数据类公开CustomExportEventArgs.GetPrintableControl和CustomExportEventArgs.GetPrintableControls方法(以帮助获取可打印控件)。
如上所述,在导出期间扩展了各个Dashboard项目与自定义相关的功能,现在您可以维护应用于 XRControls的自定义设置。v20.1包括对图表、散点图、范围过滤器和Gauge dashboard项目的支持;在v20.2中,扩展了对Pie项目的支持。
假设在WinForms Dashboard中有一个带有自定义总计的Pie Dashboard项目,如果使用标准导出选项,则导出引擎将产生以下结果:
如您所见,导出的Pie项仅包含默认设置。
现在以示例为例,处理DashboardDesigner.CustomExport事件,并通过CustomExportEventArgs.GetPrintableControls方法获取可打印控件:
using DevExpress.DashboardCommon; using DevExpress.DashboardWin; using DevExpress.XtraCharts; using DevExpress.XtraReports.UI; using System.Windows.Forms; //... private void dashboardDesigner1_CustomExport(object sender, CustomExportEventArgs e) { foreach (var printControl in e.GetPrintableControls()) { if (printControl.Value is XRChart) { var pieItemName = printControl.Key; IDashboardControl dashboardControl = (IDashboardControl)sender; PieDashboardItem pieDashboardItem = dashboardControl.Dashboard.Items[pieItemName] as PieDashboardItem; if (pieDashboardItem == null) return; XRChart pieChart = printControl.Value as XRChart; foreach (Series series in pieChart.Series) { (series.View as PieSeriesView).TotalLabel.Visible = true; (series.View as PieSeriesView).TotalLabel.TextPattern = "Total {TV:c0}"; } } } }
由于此事件在导出期间触发,因此新导出文档将正确呈现Pie项目。
这个新的dashboard export customization API可用于WinForms、WPF和Web Dashboard控件。