「对比评测」标准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级别的输入,并指定不同的错误类型和图标:
相关推荐
唐青枫1 天前
别再乱用 StartNew:C#.NET TaskFactory 任务调度实战详解
c#·.net
2601_962072554 天前
李梦娇常识4600问|题库|打印版
sql·华为od·华为·c#·华为云·.net·harmonyos
Chris _data5 天前
WPF 学习第三天 — Modbus RTU 串口通信
hadoop·学习·wpf
布吉岛的石头5 天前
Java 程序员第 43 阶段05:微服务整合大模型,跨服务调用架构设计实战,Seata分布式事务实战
wpf
步步为营DotNet5 天前
基于.NET Aspire 实现云原生应用的高效监控与可观测性
云原生·.net·wpf
咸鱼翻身小阿橙5 天前
VS2008 + .NET3.5 环境、加热台TCP通讯场景
tcp/ip·php·.net
tonydf6 天前
DotNet项目接入Copilot SDK简单案例
后端·.net·github copilot
ABprogramming6 天前
Aspire入门指南
c#·.net
User_芊芊君子6 天前
鸿蒙PC适配:Pinta GTK 图像编辑器鸿蒙 PC ArkWeb 适配全记录:从 .NET_GTK4 桌面到 HarmonyOS PC HAP
编辑器·.net·harmonyos