首页 > 其他分享 >「对比评测」标准WPF DataGrid与DevExpress WPF GridControl有何不同?(二)

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

时间:2024-08-30 09:52:24浏览次数:14  
标签:自定义 验证 DevExpress 有何 DataGrid 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正式版下载

DevExpress技术交流群10:532598169      欢迎一起进群讨论

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

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

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

筛选

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

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

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

自定义排序、分组、过滤

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

自定义排序

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

自定义分组

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

自定义筛选

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

搜索功能

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

DevExpress WPF中文教程图集
定义单元格编辑器

标准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.ValidatesOnDataErrors Binding.ValidatesOnNotifyDataErrors属性启用验证。

DevExpress WPF GridControl

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

验证规则

标准WPF DataGrid

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

DevExpress WPF GridControl

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

其他技术

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

标签:自定义,验证,DevExpress,有何,DataGrid,WPF,GridControl
From: https://www.cnblogs.com/AABBbaby/p/18388076

相关文章

  • C# WPF 如何使用折线图方案
    使用WPF的时候经常会出现需要使用折线图、柱状图的情况,一下为折线图的使用方案一、导入NuGet包项目搜索导入LiveCharts.Wpf包二、后端配置折线图需要调用 LineSeries、柱状图调用LineSeries、具体使用图形可参考官方网站 官方网址: LiveCharts这里举例说明折线图的......
  • wpf 触摸 触摸后无法打开pupup
    动态绑定触摸事件btnChangeErase.AddHandler(TouchDownEvent,newRoutedEventHandler(btnChangeErase_TouchDown),true);btnChangeErase.AddHandler(TouchUpEvent,newRoutedEventHandler(btnChangeErase_TouchUp),true);privatevoidbtnChange......
  • WPF-Prism Region使用
    Region:区域,我的理解,就是窗体上的一部分地方,不是整个窗体。所以区域里都是用户控件UserControl,就是为了解决在窗体上显示一个自定义的公用的控件的。共两种用法:1、原始的方法(不借助prism的依赖注入),用IRegionManager接口,来完成区域的注册和设置。注......
  • wpf异常捕获
    protectedoverridevoidOnStartup(StartupEventArgse){Trace.Listeners.Add(newTextWriterTraceListener("ErrorLog.txt"));Trace.AutoFlush=true;AppDomain.CurrentDomain.UnhandledException+=CurrentDomain_UnhandledException;......
  • WPF Livecharts C# Column name change
    //xaml<Windowx:Class="WpfApp299.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.mi......
  • wpf prism用法总结
    1、App文件中RegisterTypes方法:此方法中主要是注册、绑定视图、实体的。使用RegisterForNavigation方法,可以将视图注册成导航,且绑定对应的viewmodel,视图被调用后自动绑定这个viewmodel。注册成导航后,相当于公开了此视图允许调用。同时同一个视图可以绑定多个viewmodel。......
  • DevExpress WinForms中文教程:Data Grid - 如何设置条件格式?
    本文介绍DevExpressWinForms中的Excel样式的条件格式设置,您可以了解最终用户可用的特性,了解可用的格式类型以及如何在设计时或在代码中设置条件格式。P.S:DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构......
  • 不可不知的WPF画笔(Brush)
    在WPF中,屏幕上的所有内容,都是通过画笔(Brush)画上去的。如按钮的背景色,边框,文本框的前景和形状填充。借助画笔,可以绘制页面上的所有UI对象。不同画笔具有不同类型的输出( 如:某些画笔使用纯色绘制区域,其他画笔使用渐变、图案、图像或绘图)。Brush位于System.Windows.Media命名空间,Br......
  • WPF手动实现切换页面
    1、首先主页面<Grid><Grid.ColumnDefinitions><ColumnDefinitionWidth="220"/><ColumnDefinition/></Grid.ColumnDefinitions><GridGrid.Column="1"><G......
  • WPF 现代化开发教程:使用 Microsoft.Extensions.Hosting 和 CommunityToolkit.Mvvm
    介绍随着WPF应用程序的复杂性增加,使用现代化的开发工具和模式变得尤为重要。本教程将指导你如何使用Microsoft.Extensions.Hosting和CommunityToolkit.Mvvm来开发一个现代化的WPF应用程序。这些工具为开发者提供了依赖注入、应用程序生命周期管理、MVVM模式支持等功能。先决......