尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

DevExpress WPF中文教程:如何使用虚拟源将WPF数据网格绑定到任何数据源?

DevExpress WPF中文教程:如何使用虚拟源将WPF数据网格绑定到任何数据源?
📅 发布时间:2026/6/20 16:20:06

DevExpress WPF中文教程:如何使用虚拟源将WPF数据网格绑定到任何数据源?

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

虚拟源允许您将DevExpress WPF GridControl绑定到任何数据源,即使总记录计数未知。GridControl只请求顶级记录或某个页面,您可以指定数据源支持的所需数据操作。

获取DevExpress WPF v25.1正式版下载

DevExpress技术交流群11:749942875      欢迎一起进群讨论

下图显示了GridControl绑定到一个从Stack Exchange获取数据的虚拟源:

DevExpress WPF中文教程图集
绑定到任何数据源

您可以将DevExpress WPF GridControl连接到任何数据源:REST服务、NoSQL数据库、自定义WCF服务、EntityFramework或任何其他ORM。

DevExpress WPF中文教程图集
基于角色访问控制的CRUD Web API服务一键解决方案

如果您将.NET 作为后端 API 的目标,请务必查看免费 Web API 服务,并立即注册免费副本。解决方案向导会搭建一个OData v4 Web API服务(.NET 6+),并集成了授权和 CRUD 操作,由 EF Core 和XPO ORM库提供支持。您可以使用OAuth2、JWT或自定义身份验证策略,并借助 Postman 或 Swagger(OpenAPI)等工具进行 API 测试。其众多功能之一是,我们内置 Web API 服务会根据授予用户的权限过滤受保护的服务器数据。高级/企业功能包括审计跟踪、下载报告的端点、文件附件、检查验证、本地化标题等。要使用免费的解决方案向导(用于创建 Web API 服务),请从 DevExpress 下载管理器运行通用组件安装程序。

虚拟源类型
无限源

绑定到InfiniteAsyncSource的GridControl显示无限滚动的数据:

DevExpress WPF中文教程图集
分页源

绑定到PagedAsyncSource的GridControl在页面中显示数据:

DevExpress WPF中文教程图集
最低要求

数据源需要公开API来连续获取部分数据(例如,跳过或获取部分数据,或通过页面索引获取部分数据),不需要总项目计数;排序、过滤和汇总计算操作是可选的。

启用特性

绑定到虚拟源的GridControl只请求顶级记录或某个页面,您可以指定允许哪些数据操作,例如最终用户可以按A、C和D列排序,Search Panel可以根据StartsWith条件过滤数据。

您可以控制GridControl发送给服务或数据库的请求,这可以防止使用非最优查询使数据库过载,GridControl自动隐藏所有不支持操作的UI元素。

工作流

异步虚拟源在UI线程中引发事件,并使用任务在并行工作线程中处理数据。您应该将任务传递给这些事件来获取摘要、行等,然后UI线程获取您获取的数据。

DevExpress WPF中文教程图集
  1. (可选步骤)虚拟源引发InfiniteAsyncSource.GetTotalSummaries(或PagedAsyncSource.GetTotalSummaries)事件,如果您希望在GridControl中显示摘要,则处理此事件和处理摘要。
  2. 虚拟源引发InfiniteAsyncSource.FetchRows(或PagedAsyncSource.FetchPage)事件来获取数据的第一部分。
  3. 当最终用户导航到下一页时,虚拟源引发InfiniteAsyncSource.FetchRows(或PagedAsyncSource.FetchPage)事件来获取数据的下一部分。
  4. (可选步骤)当用户应用过滤器时,虚拟源引发InfiniteAsyncSource.GetUniqueValues(或PagedAsyncSource.GetUniqueValues)事件来获取唯一值并在下拉过滤器中显示它们。
MVVM支持

您可以在ViewModel级别实现虚拟源的数据操作,而无需依赖UI。

按照以下步骤配置虚拟源并支持MVVM模式:

  1. 将InfiniteAsyncSource或PagedAsyncSource的实例分配给GridControl的ItemsSource属性。
  2. 将实例的属性绑定到ViewModel中指定的命令。

XAML

<dxg:GridControl>
<dxg:GridControl.ItemsSource>
<dx:InfiniteAsyncSource ElementType="{x:Type local:IssueData}"
FetchRowsCommand="{Binding FetchIssuesCommand}"
GetUniqueValuesCommand="{Binding GetUniqueValuesCommand}"
GetTotalSummariesCommand="{Binding GetTotalSummariesCommand}"/>
</dxg:GridControl.ItemsSource>
<!-- ... -->
</dxg:GridControl>

更多DevExpress线上公开课、中文教程资讯请上中文网获取

相关新闻

  • 数据跨境传输解决方案助力企业安全合规高效流通
  • 题解:P9454 [ZSHOI-R1] 巡城
  • 我的第一个赚钱网站 -- 从网站源码到集成AdSense获利的全过程

最新新闻

  • AI决策优化:在容量约束与噪声依从下如何科学设定干预阈值
  • 鲁棒最优实验设计:应对传感器失效的工程实践与算法实现
  • 嵌入式系统硬件开关配置详解:以QorIQ T1023启动与IFC接口为例
  • 第6章:Python接入Ollama——构建第一个AI小助手
  • 魔兽争霸3终极优化指南:三步免费解决宽屏适配、地图加载与帧率问题
  • ASC、GSC+与Δ-替代:从需求类型出发,系统化设计集合函数类的思维框架

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号