DevExpress WinForms中文教程:Data Grid - 使用服务器模式的大数据源和即时反馈?

本教程首先描述了标准数据绑定模式在处理非常大的数据源时的缺点,用户可以学习如何使用服务器模式数据绑定来解决初始数据加载和数据操作性能问题。最后将演示即时反馈数据绑定模式,该模式确保应用程序的UI不会因在后台线程中执行与数据相关的操作而冻结。

P.SDevExpress WinForms拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!

获取DevExpress WinForms v24.1正式版下载

默认模式

在示例应用程序中,使用默认数据绑定模式将网格绑定到具有100,000行的数据源。在这种模式下,网格将把所有数据加载到内存中,然后根据最终用户的操作对这些数据进行操作。

运行应用程序来分析网格的性能,网格将把所有记录加载到内存中,这意味着内存消耗增加,应用程序启动延迟。您可以看到启动花费了很长时间,正如在任务管理器中看到的,应用程序实际上正在运行,并且已经消耗了大约220M的内存。

单击 Break All来查看应用程序状态,如您所见,数据源仍在被填充。单击Continue并等待,应用程序最终启动后,将显示100000条记录。

数据操作将全部由客户端上的网格控件执行,因此性能将取决于客户端计算机。您可以看到,即使在快速的计算机上,数据分组和排序的执行也有明显的滞后。

服务器模式

现在关闭应用程序并切换到Server Mode数据绑定,以提高应用程序的性能。在这种数据绑定模式下,网格控件将只请求要显示在屏幕上的数据的一部分,数据整形操作将由服务器执行。

删除之前由Data Source Configuration Wizard(数据源配置向导)添加的代码和BindingSource组件,然后调用DevExpress网格控件的智能标记并单击Data Source Wizard链接。

选择Entity Framework(实体框架)技术并选择现有的数据连接。

在下一页上,选择Server-Side Data Processing并单击Next。

最后,选择所需的表、键表达式和默认排序。

现在启动应用程序来查看结果,请记住在服务模式下,网格将只请求一些记录显示在屏幕上,这意味着减少内存消耗和更快的应用程序启动。这一次,应用程序在几秒钟内启动。同时,您可以访问所有100,000条记录,滚动视图可以看到几乎没有延迟。

分组、排序和过滤的工作速度也很快,数据操作速度很快,因为在每个终端用户操作之后,网格都会向服务器发送更新数据的请求。服务器通常会更快地执行这些操作,然后只有少数可见记录返回到网格。这意味着您可以访问所有记录,并且可以自由地应用您想要的任何数据塑造操作。

如果您检查任务管理器,将看到与标准模式相比,内存消耗大大减少。

关闭应用程序来尝试另一种用于处理大型数据源的数据绑定模式。

即时反馈模式

当前应用的数据绑定模式为同步,这意味着当网格等待来自服务器的更新数据时,用户界面会暂时冻结。DevExpress Grid Control还提供异步服务器模式,也称为即时反馈模式。它与服务器模式相同,只是它在后台线程中重新加载数据以确保应用程序的UI不会冻结。

再次调用数据源向导,这次选择异步服务器端数据处理来启用即时反馈模式,然后再次选择所需的表、键表达式和默认排序。

启动应用程序来查看更改,请注意在滚动、分组和排序数据时,网格不会冻结。当数据在后台线程中检索时,加载指示器显示在左上角。

支持数据访问技术

注意Entity Framework(实体框架)并不是唯一支持这些数据绑定模式的技术,在Visual Studio工具箱中,您可以看到在服务器模式和即时反馈模式下用于各种数据访问技术的数据源组件------实体框架、LINQ到SQL、并行LINQ到对象或WCF数据服务。

您可以从工具箱中添加这些组件并手动绑定数据,替代使用向导。

相关推荐
追逐时光者12 小时前
.NET 使用 MethodTimer 进行运行耗时统计提升代码的整洁性与可维护性!
后端·.net
许泽宇的技术分享19 小时前
Windows桌面自动化的革命性突破:深度解析Windows-MCP.Net Desktop模块的技术奥秘
windows·自动化·.net
界面开发小八哥1 天前
DevExtreme Angular UI控件更新:引入全新严格类型配置组件
前端·ui·界面控件·angular.js·devexpress
追逐时光者2 天前
C#/.NET/.NET Core技术前沿周刊 | 第 50 期(2025年8.11-8.17)
后端·.net
唐青枫2 天前
别滥用 Task.Run:C# 异步并发实操指南
c#·.net
zzzhpzhpzzz3 天前
Win10快速安装.NET3.5
.net·win10
许泽宇的技术分享3 天前
Windows MCP.Net:基于.NET的Windows桌面自动化MCP服务器深度解析
windows·自动化·.net
百锦再3 天前
.NET 的 WebApi 项目必要可配置项都有哪些?
java·开发语言·c#·.net·core·net
hqwest4 天前
C#WPF实战出真汁06--【系统设置】--餐桌类型设置
c#·.net·wpf·布局·分页·命令·viewmodel
做一位快乐的码农4 天前
基于.net、C#、asp.net、vs的保护大自然网站的设计与实现
c#·asp.net·.net