提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:龚雪|2023-02-20 10:45:56.620|阅读 127 次
概述:本文将介绍DevExpress WPF的Pivot Grid组件在近几个更新周期中增强的功能,欢迎下载相关组件体验!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
界面控件DevExpress WPF的Pivot Grid组件是一个类似excel的数据透视表,用于多维数据分析和跨选项卡报表生成。它拥有众多的布局自定义选项,允许开发者完全控制其UI且以用户为中心的功能使其易于部署。
PS:DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。
在本文中,将总结在DevExpress过去发布的几个周期中引入的与Pivot Grid相关的增强功能。
DevExpress技术交流群7:674691612 欢迎一起进群讨论
官方技术团队首要目标是交付单一/统一的绑定机制,并简化整个Pivot Grid设置。
Pivot Grid字段在以下模式下使用新的统一绑定机制:
更新的API是建立在迄今为止最快的引擎上的(称之为优化计算引擎),因此统一的API允许开发者将Pivot Grid绑定到服务器模式/OLAP数据源或内存中数据源(新内存中引擎比旧的Legacy和LegacyOptimized引擎快得多)。
介绍完这些之后,现在一起看看每种可用的数据绑定类型……
使用DataSourceColumnBinding类将Pivot Grid字段绑定到数据源中的列或OLAP多维数据集中的度量/维度,在以前的版本中,开发者必须指定PivotGridFieldBase.FieldName属性来将PivotGrid字段绑定到数据源中的列。
PivotGridField statusField = new PivotGridField() { FieldName = "[Measures].[Internet Revenue Status]", Area = PivotArea.DataArea, AreaIndex = 2, Caption = "Status", Name = "fieldStatus" }; PivotGridField quarterField = new PivotGridField() { FieldName = "[Date].[Fiscal].[Fiscal Quarter]", Area = PivotArea.RowArea, AreaIndex = 2, Caption = "Fiscal Quarter", Name = "pivotGridField" }; pivotGridControl.Fields.AddRange(new[] { quarterField, statusField });
开发者现在可以使用PivotGridField.DataBinding属性,它能够接收这种类型的实例,以及稍后将描述的其他实例。
PivotGridField statusField = new PivotGridField() { DataBinding = new DataSourceColumnBinding("[Measures].[Internet Revenue Status]"), Area = PivotArea.DataArea, AreaIndex = 2, Caption = "Status", Name = "fieldStatus" }; PivotGridField quarterField = new PivotGridField() { DataBinding = new DataSourceColumnBinding("[Date].[Fiscal].[Fiscal Quarter]"), Area = PivotArea.RowArea, AreaIndex = 2, Caption = "Fiscal Quarter", Name = "pivotGridField" }; pivotGridControl.Fields.AddRange(new[] { quarterField, statusField });
ExpressionDataBinding和OlapExpressionBinding允许将Pivot Grid字段分别绑定到计算表达式或MDX表达式(OLAP),此外ExpressionDataBinding可以用来实现以下Pivot Grid特性:
例如,以下来自字母分组示例应用程序的代码片段将ProductName字段值分组为三个范围:A-E, F-S和T-Z(基于产品名称的初始字符)。
// Create fieldProductName and bind it to the ProductName column in the data source. PivotGridField fieldProductName = new PivotGridField(); fieldProductName.Area = PivotArea.RowArea; fieldProductName.Caption = "Product"; fieldProductName.DataBinding = new DataSourceColumnBinding("ProductName"); fieldProductName.Name = "fieldProductName"; pivotGridControl.Fields.Add("ProductName"); // Create fieldProductGroup, specify the expression, and bind it to the created field. PivotGridField fieldProductGroup = new PivotGridField(); fieldProductGroup.Area = PivotArea.RowArea; fieldProductGroup.Caption = "Product Group"; fieldProductGroup.AreaIndex = 0; fieldProductGroup.DataBinding = new ExpressionDataBinding( "iif(Substring([ProductName], 0, 1) < 'F', 'A-E', Substring([ProductName], 0, 1) < 'T', 'F-S', 'T-Z')"); pivotGridControl.Fields.Add(fieldProductGroup);
这里的好处是,开发者不需要像在以前的版本中那样处理CustomGroupInterval事件:
pivotGridControl.CustomGroupInterval += (s, e) => { if(!object.Equals(e.Field, fieldProductGroup)) return; if(Convert.ToChar(e.Value.ToString()[0]) < 'F') { e.GroupValue = "A-E"; return; } if(Convert.ToChar(e.Value.ToString()[0]) > 'E' &x;&x; Convert.ToChar(e.Value.ToString()[0]) < 'T') { e.GroupValue = "F-S"; return; } if(Convert.ToChar(e.Value.ToString()[0]) > 'S') e.GroupValue = "T-Z"; }; pivotGridControl.RefreshData();
注意:如果您使用更新的绑定API,以前涉及以下事件的分组\排序\汇总方法将不再支持:
Binding API使用表达式进行自定义分组。开发者还可以计算自定义摘要,或对数据进行排序。
最新的版本中添加了更多的表达式函数来扩展支持使用场景的范围:
新版本还添加了在Expression Editor中创建和注册自定义聚合函数的功能,注册的函数可以与预定义的Pivot Grid方法一起使用。
Pivot Grid现在支持OLAP ADOMD.NET NuGet包用于.NET Framework和.NET. With ADOMD.NET,开发者可以读取多维模式(超过两个轴),在多维数据集上发起查询,并根据需要检索结果。
更新的版本增强了Pivot Grid的异步模式,使其更加可用和稳定。
下面的代码片段来自OLAP Drill Down 技术演示,为选定的Pivot Grid单元格创建了一个下钻数据源,并以异步模式在DrillDownForm对话框中显示结果数据源。
pivotGridControl.CellDoubleClick += async (s, e) => { try { pivotGridControl.LoadingPanelVisible = true; PivotDrillDownDataSource ds = await e.CreateDrillDownDataSourceAsync(); pivotGridControl.LoadingPanelVisible = false; using(DrillDownForm form = new DrillDownForm(ds)) form.ShowDialog(); } catch(Exception ex) { pivotGridControl.LoadingPanelVisible = false; XtraMessageBox.Show(ex.Message); } };
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:慧都网通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
行业领先的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
DevExpress WPF Subscription高效MVVM开发模式,WPF界面解决方案首选工具,帮助企业实现酷炫动效界面。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢