「对比评测」标准WPF DataGrid与DevExpress WPF GridControl有何不同?(二)

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。

本文主要介绍标准WPF DataGrid和DevExpress WPF GridControl之间的主要区别,以及如何使用它从标准WPF DataGrid迁移到DevExpress WPF GridControl。

在上文中(点击这里回顾>>),我们为大家介绍了标准WPF DataGrid和DevExpress WPF GridControl在显示数据、绑定数据时的不同,本文将继续介绍他们在排序、分组和过滤数据时的不同等,希望对大家有所帮助~

获取DevExpress v24.1正式版下载

对数据进行排序、分组和筛选
运行时功能

标准WPF DataGrid在运行时不支持排序、分组和筛选操作。

DevExpress WPF GridControl允许用户以几种方式执行这些操作。

筛选

使用以下选项当中的一个筛选视图数据:

  • Drop-down Filter:用户可以单击列标题中的过滤器图标来显示此菜单。
  • Filter Editor:用户可以使用Filter Editor表单构建筛选标准并创建复杂的筛选条件。

用户可以在运行时清除或禁用过滤器。

自定义排序、分组、过滤

您可以实现自定义排序、分组和筛选逻辑:

自定义排序

要实现自定义排序,将GridColumn.SortMode属性设置为"Custom"并处理GridControl.CustomColumnSort事件。

自定义分组

设置GridColumn.SortMode属性为"Custom",并处理GridControl.CustomColumnGroup事件来实现自定义分组。

自定义筛选

要自定义过滤器逻辑,请执行以下操作当中的一个:

搜索功能

DevExpress GridControl的内置搜索面板可以在视图中突出显示搜索结果,并可选择过滤行。

定义单元格编辑器

标准WPF DataGrid

使用以下类型列将编辑器嵌入单元格:

您也可以使用DataGridTemplateColumn,此列允许您覆盖单元格模板并指定所需的编辑器。

DevExpress WPF GridControl

使用GridColumn对象,每个列根据数据字段类型自动创建一个编辑器。

格式化文本

标准WPF DataGrid

没有内置API来格式化文本或数字字段,您需要使用标准的WPF绑定来显示格式化的值。

DevExpress WPF GridControl

允许您在以下级别指定格式化API:

  • GridControl / GridColumn设置
  • 列编辑器的设置
  • 列编辑器的模板
为单元格和行着色

标准WPF DataGrid

包括允许您为单元格和行着色的样式和模板。

DevExpress WPF GridControl

除了行/单元格样式和模板之外,还支持条件格式机制。

输入验证
异常验证

标准WPF DataGrid

要求使用Binding.ValidatesOnExceptions属性在列级别启用验证。

DevExpress WPF GridControl

自动验证异常输入。

使用IDataErrorInfo和INotifyDataErrorInfo进行验证

标准WPF DataGrid

要求您在列绑定级别使用Binding.ValidatesOnDataErrorsBinding.ValidatesOnNotifyDataErrors属性启用验证。

DevExpress WPF GridControl

IDataErrorInfoINotifyDataErrorInfo接口实现时,自动显示错误信息。

验证规则

标准WPF DataGrid

开箱即用,支持验证规则。

DevExpress WPF GridControl

DevExpress GridControl不直接与验证规则一起工作,处理ValidateCell事件并使用Validation Rules来实现验证逻辑。

其他技术

DevExpress WPF GridControl支持以下标准WPF DataGrid不支持的技术,您可以在以下应用程序级别验证输入并指定不同的错误类型和图标:

  • 模型 - IDXDataErrorInfo
    实现IDXDataErrorInfo接口来在Model级别验证输入,并指定不同的错误类型和图标。
  • 模型 - 数据注释属性
    使用属性来验证模型级别的输入。
  • View/ViewModel - 基于事件的验证
    使用以下事件来验证View/ViewModel级别的输入,并指定不同的错误类型和图标:
相关推荐
CodeCraft Studio4 小时前
如何实现Microsoft Word (.docx) 格式到 FastReport .NET (.frx) 文件的转换
microsoft·word·.net
三天不学习6 小时前
Lucene.Net 分词器选择指南:盘古分词 vs 结巴分词
.net·mybatis·lucene
SEO-狼术7 小时前
Spread.NET Crack MESCIUS to programmatically
.net
追逐时光者11 小时前
一款 .NET 开源、免费、轻量级且非侵入性的防火墙软件
后端·.net
三天不学习16 小时前
Lucene.Net全文搜索引擎:架构解析与全流程实战指南
搜索引擎·.net·lucene
专注VB编程开发20年1 天前
WebView2最低支持.NET frame4.5,win7系统
c#·.net·webview2·vb.net
时光追逐者1 天前
一款基于 .NET 8 + Vue 开源的、企业级中后台权限管理系统
前端·vue.js·microsoft·开源·c#·.net·.netcore
专注VB编程开发20年1 天前
C#,VB.NET正则表达式法替换代码
正则表达式·c#·.net·vb.net
进阶的小木桩1 天前
.NET 中的深拷贝实现方法
java·开发语言·.net
不知名君1 天前
WPF轮播图动画交互 动画缩放展示图片
wpf