翻译|使用教程|编辑:龚雪|2022-09-22 10:24:43.170|阅读 145 次
概述:在使用DevExpress WPF的Grid组件时,如果遇到频繁的数据更新该如何处理?本文将为大家提供一些解决方法,欢迎下载组件立即体验!
#慧都年终大促·百厂联动暖冬特惠,超多软控件立享惊喜优惠>>
相关链接:
DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。
您可以使用以下技术当中的一种来优化GridControl中的数据更新:
ChunkList
ChunkList<T> 适合处理大型集合更新的应用程序,如果您执行多个迭代数据源项的操作(例如,汇总计算、数据排序和过滤操作),ChunkList 的工作速度可能比普通集合慢。
我们建议您在以下情况下使用 ChunkList:
优化摘要
GridControl 重新计算所有记录以更新数据摘要,要优化更新操作,请将GridControl.OptimizeSummaryCalculation属性设置为 true。在这种情况下,GridControl仅计算更改记录的值并根据这些值更新数据摘要,因此性能不依赖于记录数。
我们建议您在以下情况下优化汇总计算:
数据整型操作允许您对数据进行排序、过滤和分组,以及计算摘要,发生数据源更改时,GridControl会执行这些操作。要将多个更新作为单个操作处理,请使用以下方法:
锁定更新
当您在 GridControl 中锁定更新时,用户无法在 UI 中执行任何数据操作。 您可以处理数据更新,然后将所有更改应用到 GridControl。
我们建议您在以下情况下锁定 GridControl 更新:
请按照以下步骤应用此技术:
下面的代码示例演示了如何防止 GridControl 在发生多个数据更改时频繁更新。
C#
public void PerformUpdates() { gridControl.BeginDataUpdate(); // Perform massive data updates... gridControl.EndDataUpdate(); }
如果使用 TreeListView,GridControl 会根据数据结构类型处理分层更新:
无论数据结构类型如何,调用TreeListView.BeginDataUpdate(bool recreateNodesOnEndDataUpdateOnly)和 TreeListView.EndDataUpdate方法来管理分层更新。 例如,如果数据源中的每次更改都会显着影响节点层次结构,则您可能希望在 EndDataUpdate 调用之后只更新一次。 为此,请将 true 作为参数传递给TreeListView.BeginDataUpdate(bool recreateNodesOnEndDataUpdateOnly) 方法。
手动刷新
将AllowLiveDataShaping属性设置为 false 来允许 GridControl 在数据更改时忽略数据整型操作,调用RefreshData 方法来显示控件中的所有更改。
我们建议您在以下情况下手动强制更新 GridControl:
定时器自动刷新
如果您的数据频繁更改(例如,每毫秒),则 GridControl 没有足够的时间来更新其布局,您可以对计时器执行更新操作。实现一个自定义集合,阻止来自数据源的更改通知并在指定的时间间隔内复制数据,此集合中的更改会触发 GridControl 更新。
我们建议您在以下情况下更新计时器上的数据:
DevExpress技术交流群6:600715373 欢迎一起进群讨论
更多DevExpress线上公开课、中文教程资讯请上中文网获取
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网在本文中,您将了解如何使用Spire.PDF for .NET在 C# 和 VB.NET 中以编程方式实现转换。
本文将为大家介绍如何用Office File API组件在PDF文件中创建和填充交互式表单字段,欢迎下载相关组件体验!
本文将向您介绍FastReport .Net中带图表的报告(图表要素)部分内容,欢迎查阅~
本文将为大家介绍热门Java开发工具IntelliJ IDEA是如何插件安装的,欢迎下载工具体验!
行业领先的界面控件开发包,帮助企业构建卓越应用!
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
DevExpress WPF Subscription高效MVVM开发模式,WPF界面解决方案首选工具,帮助企业实现酷炫动效界面。
服务电话
重庆/ 023-68661681
华东/ 18100878086
华南/ 18100878085
华北/ 17382392642
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技有限公司 版权所有 Copyright 2003-2023 渝ICP备12000582号-13 渝公网安备
50010702500608号