WPF Data Grid具有高度优化的过滤引擎,该引擎允许您(和您的用户)在几毫秒内针对非常大的数据集查找记录。最近的研究表明,当过滤器包含数百个项目时,UI可能会成为瓶颈,在下一次重大更新中,产品团队将优化以下数据 格元素,以在应用复杂过滤器时增强UI响应能力:
- Filter Popup(过滤器弹出窗口)
- Filter Panel(过滤器面板)
- MRU Filter List(MRU 过滤器列表)
官方测试表明这样可以显着提高性能(在以下测试中,包含了500个过滤器项):

Tree List异步节点加载
WPF Tree List完全支持按需数据加载,此功能允许您仅在展开节点时加载行。 虽然按需加载减少了启动时间,但最终用户可能会遇到“冻结”的UI,因为TreeList会扩展具有许多子节点的节点。 在v22.2中,计划实现异步节点加载,并允许您在没有UI线程锁定的情况下加载子节点:

以下是期望包含在异步节点加载引擎中的功能:
- 您可以动态确定要在异步子节点选择器中加载哪些节点。
- 当用户展开节点时,将出现等待指示器。
- Tree List将为必须检索信息的节点显示额外的等待指示符,以帮助确定是否显示“+”按钮。
- 用户可以悬停已加载节点的等待指示器并取消加载操作。
Tree List更新优化
通常,批量处理大量更新会更有效,这样每次更新都不会产生不必要的数据计算,您可以调用BeginDataUpdate和 EndDataUpdate来处理Tree List中的批量更新。在性能测试期间,我们发现BeginDataUpdate/EndDataUpdate 实现可以得到增强,因此它分配的内存要少得多,这将允许垃圾收集器使用更少的 CPU 时间。研究测试表明,当TreeList包含1000000个节点并插入1000个新项目时,这将减少50%的更新时间。

Data Grid顶部的总摘要
当您需要在具有许多行和列的数据 格中跟踪重要的摘要信息时,这可能会很有帮助。

未绑定数据类型
WPF Data Grid允许您使用以下未绑定的列类型:整数、十进制、日期时间、字符串、布尔值和对象,所有自定义类型都必须用作“Object”,此要求可能会在筛选和排序操作期间产生不需要的副作用(因为数据 格无法确定数据属性类型)。产品团队计划在下一个版本中引入 GridColumn.UnboundDataType 属性,此属性将允许您为未绑定的列指定任何类型。 例如,您将能够使用诸如 TimeSpan 或 DateTimeOffset 之类的类型 – 准确支持过滤、排序和其他数据整形操作。
DevExpress技术交流群6:600715373 欢迎一起进群讨论

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!