「对比评测」标准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级别的输入,并指定不同的错误类型和图标:
相关推荐
Tiger_shl7 小时前
【.Net技术栈梳理】05-gRPC
.net
忧郁的蛋~9 小时前
使用.NET标准库实现多任务并行处理的详细过程
开发语言·c#·.net
sun03229 小时前
使用 javax.net.ssl.HttpsURLConnection 发送 HTTP 请求_以及为了JWT通信选用OSS的Jar的【坑】
http·.net·ssl
索迪迈科技13 小时前
记一次 .NET 某中医药附属医院门诊系统 崩溃分析
windows·c#·.net·windbg
SunflowerCoder13 小时前
WPF迁移avalonia之触发器
c#·wpf·avalonia
主宰者13 小时前
【WPF+Prism】日常开发问题总结
wpf
ChaITSimpleLove15 小时前
零代码入侵:Kubernetes 部署时自动注入 kube-system UID 到 .NET 9 环境变量
kubernetes·.net·环境变量·uid·kube-system·集群环境唯一id
小码编匠17 小时前
WPF 多线程更新UI的两种实用方案
后端·c#·.net
一个帅气昵称啊18 小时前
C#,RabbitMQ从入门到精通,.NET8.0(路由/分布式/主题/消费重复问题 /延迟队列和死信队列/消息持久化 )/RabbitMQ集群模式
分布式·微服务·架构·rabbitmq·.net
~空中楼阁19 小时前
WPF WriteableBitmap 高性能双缓冲图片显示方案
wpf