DevExpress WPF中文教程:如何解决排序、过滤遇到的常见问题?(二)

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

接下来将介绍如何解决DevExpress GridControl中排序和过滤操作最常见的问题。在上文中(点击这里回顾>>),我们为大家介绍了当使用DevExpress WPF网格控件时排序和过滤不起作用、数值按字符串排序/过滤等问题,本文将为大家介绍一些其他排序过滤常见的问题及解决方案,希望对大家有所帮助。

获取DevExpress v24.1正式版下载(Q技术交流:532598169)

重复的值显示在过滤器弹出框中

问题

DevExpress WPF GridControl根据EditSettings (Mask, DisplayFormat, DisplayTextConverter)和CustomColumnDisplayText事件发送的信息显示过滤器值,如果多个单元格值具有相似的显示文本,GridControl将在过滤器弹出框中多次显示这些值。

解决方案

使用以下解决方案当中的一个:

如果使用DisplayFormat对十进制值进行四舍五入,可能会在下拉过滤器中看到重复的值。为了避免这个问题,我们建议在DevExpress GridControl获取这些值之前将它们四舍五入,您可以使用以下解决方案当中的一种:

  • 使用一个自定义转换器来四舍五入这个Binding定义中的值:

XAML

XML 复制代码
<dxg:GridColumn Header="Growth"
Binding="{Binding Growth,
Converter={StaticResource RoundConverter}, Mode=TwoWay}"/>

您可以创建自己的自定义转换器,也可以使用本示例中的自定义转换器。

XAML

XML 复制代码
<dxg:GridColumn Header="Growth"
FieldName="GrowthUnbound"
UnboundType="Decimal"
UnboundExpression="Round([Growth], 2)"
ReadOnly="True"/>

XAML

XML 复制代码
<Grid>
<dxg:GridControl ItemsSource="{Binding Source}"
CustomUnboundColumnDataCommand="{Binding UnboundColumnDataCommand}">
<dxg:GridControl.Columns>
<dxg:GridColumn FieldName="Name"/>
<dxg:GridColumn Header="Growth"
FieldName="GrowthUnbound"
UnboundType="Decimal"/>
</dxg:GridControl.Columns>
</dxg:GridControl>
</Grid>
GridControl不根据单元格中显示的文本对值进行排序/筛选

问题

当您使用自定义CellTemplateCellDisplayTemplateCellEditTemplate时,会出现此问题,这些模板不影响排序和筛选。

解决方案

要更改单元格显示文本,使用EditSettings (Mask, DisplayFormat, DisplayTextConverter)或 CustomColumnDisplayText事件;要按显示文本排序和筛选,请设置请将ColumnBase.ColumnFilterModeColumnBase.SortMode 设置为DisplayText。

在数据源中更新后过滤/排序不会刷新

问题

当在数据源级别更新项属性时,DevExpress WPF GridControl不会刷新过滤、排序和分组。

解决方案

要自动重新应用排序/过滤/分组,启用GridControl.AllowLiveDataShaping选项。

未引发CustomColumnSort事件

问题

由于以下原因,事件可能不会触发:

解决方案

相关推荐
追逐时光者9 小时前
C#/.NET/.NET Core技术前沿周刊 | 第 54 期(2025年9.8-9.14)
后端·.net
追逐时光者9 小时前
C#/.NET/.NET Core编程技巧练习集,配套详细的文章教程讲解!
后端·.net
玉面小君10 小时前
从 WPF 到 Avalonia 的迁移系列实战篇6:Trigger、MultiTrigger、DataTrigger 的迁移
wpf·avalonia
咕白m62517 小时前
C# Excel 读取入门教程:免费实现方法
c#·.net
唐青枫1 天前
FluentData 从入门到精通:C#.NET 数据访问最佳实践
c#·.net
招风的黑耳1 天前
Java生态圈核心组件深度解析:Spring技术栈与分布式系统实战
java·spring·wpf
lfw20191 天前
WPF 数据绑定模式详解(TwoWay、OneWay、OneTime、OneWayToSource、Default)
wpf
Magnum Lehar1 天前
3d wpf游戏引擎的导入文件功能c++的.h实现
3d·游戏引擎·wpf
余衫马2 天前
开发指南:使用 MQTTNet 库构建 .Net 物联网 MQTT 应用程序
物联网·mqtt·.net
FuckPatience2 天前
WPF Telerik.Windows.Controls.Data.PropertyGrid 自定义属性编辑器
wpf