提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2025-10-30 10:24:09.123|阅读 74 次
概述:本文主要介绍如何在MVVM应用程序中使用虚拟源,欢迎下载最新版组件体验!
#慧都年终盛惠·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>
相关链接:
DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。
本文将为大家一步一步演示如何在一个MVVM应用程序中使用虚拟源。
注意:本教程使用Issues Service作为示例数据源,使用InfiniteAsyncSource作为虚拟数据源。
DevExpress技术交流群12:1028386091 欢迎一起进群讨论
您可以显示关于行组或单个数据列的摘要信息,完成以下步骤:
1. 在虚拟源中处理摘要。
2. 在GridControl中显示摘要。
Issues Service允许您获得:
C#
public class IssuesSummaries {
public int Count { get; private set; }
public DateTime? LastCreated { get; private set; }
}
在虚拟源中处理摘要
1. 创建一个使用IssuesService.GetSummariesAsync方法从数据源获取摘要的任务。
2. 使用Summaries属性获取GridControl摘要项。
3. 创建GetTotalSummaries命令。
4. 获取与GridControl摘要项对应的数据源摘要列表,并将该列表分配给Result属性。
5. 将GetTotalSummaries命令绑定到InfiniteAsyncSource.GetTotalSummariesCommand。
C#
[Command]
public void GetTotalSummaries(GetSummariesAsyncArgs args) {
args.Result = GetTotalSummariesAsync(args);
}
static async Task<object[]> GetTotalSummariesAsync(GetSummariesAsyncArgs args) {
var summaryValues = await IssuesService.GetSummariesAsync((IssueFilter)args.Filter);
return args.Summaries.Select(x => {
if(x.SummaryType == SummaryType.Count)
return (object)summaryValues.Count;
if(x.SummaryType == SummaryType.Max && x.PropertyName == "Created")
return summaryValues.LastCreated;
throw new InvalidOperationException();
}).ToArray();
}
xml
<dxg:GridControl.ItemsSource>
<dx:InfiniteAsyncSource ElementType="{x:Type local:IssueData}"
FetchRowsCommand="{Binding FetchIssuesCommand}"
GetUniqueValuesCommand="{Binding GetUniqueValuesCommand}"
GetTotalSummariesCommand="{Binding GetTotalSummariesCommand}"/>
</dxg:GridControl.ItemsSource>
显示固定摘要面板
启用DataViewBase.ShowFixedTotalSummary属性来显示固定摘要面板:
xml
<dxg:GridControl.View> <dxg:TableView ShowFixedTotalSummary="True"/> </dxg:GridControl.View>
显示总摘要
指定GridControl.TotalSummary属性在GridControl中显示总的摘要:
xml
<dxg:GridControl.TotalSummary>
<dxg:GridSummaryItem SummaryType="Count" Alignment="Right"/>
<dxg:GridSummaryItem SummaryType="Max" FieldName="Created"
DisplayFormat="{}Last created: {0}"
Alignment="Right"/>
</dxg:GridControl.TotalSummary>
Issues Service可以计算Median和StdDev值:
C#
public class IssuesSummaries {
// ...
public double VotesMedian { get; private set; }
public double VotesStdDev { get; private set; }
}
1. 在虚拟源中的过程摘要:
C#
[Command]
public void GetTotalSummaries(GetSummariesAsyncArgs args) {
args.Result = GetTotalSummariesAsync(args);
}
static async Task<object[]> GetTotalSummariesAsync(GetSummariesAsyncArgs args) {
var summaryValues = await IssuesService.GetSummariesAsync((IssueFilter)args.Filter);
return args.Summaries.Select(x => {
if (x.SummaryType == SummaryType.Count)
return (object)summaryValues.Count;
if (x.SummaryType == SummaryType.Max && x.PropertyName == "Created")
return summaryValues.LastCreated;
// Custom Summaries
if (x.SummaryType == SummaryType.Custom && x.PropertyName == "Votes") {
var tag = x.Tag as string;
if (tag == "Median")
return summaryValues.VotesMedian;
if (tag == "StdDev")
return summaryValues.VotesStdDev;
}
throw new InvalidOperationException();
}).ToArray();
}
2. 在GridControl中显示摘要:
xml
<dxg:GridControl.TotalSummary>
<dxg:GridSummaryItem SummaryType="Count" Alignment="Right"/>
<dxg:GridSummaryItem SummaryType="Max" FieldName="Created"
DisplayFormat="{}Last created: {0}" Alignment="Right"/>
<!-- Custom Summaries -->
<dxg:GridSummaryItem SummaryType="Custom" Tag="StdDev" FieldName="Votes"
DisplayFormat="{}Votes StdDev={0}" Alignment="Right"/>
<dxg:GridSummaryItem SummaryType="Custom" Tag="Median" FieldName="Votes"
DisplayFormat="{}Votes Median={0}" Alignment="Right"/>
</dxg:GridControl.TotalSummary>
更多产品资讯及授权,欢迎来电咨询:023-68661681
更多DevExpress线上公开课、中文教程资讯请上中文网获取
慧都是⼀家⾏业数字化解决⽅案公司,专注于软件、⽯油与⼯业领域,以深⼊的业务理解和⾏业经验,帮助企业实现智能化转型与持续竞争优势。
慧都是DevExpress的中国区的合作伙伴,DevExpress作为用户界面领域的优秀产品,帮助企业高效构建权限管理、数据可视化(如网格/图表/仪表盘)、跨平台系统(WinForms/ASP.NET/.NET MAUI)及行业定制解决方案,加速开发并强化交互体验。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:慧都网



在软件研发质量管控领域,Parasoft 是深耕多年的专业解决方案提供商,旗下拥有覆盖代码静态分析、单元测试、API 测试、质量数据管理等全流程的工具矩阵,能够为航空航天、汽车电子、医疗设备等多行业提供端到端的软件测试解决方案,帮助企业在加速研发迭代的同时,守住产品质量与合规底线。
C++广泛应用于汽车电子、工业控制等高要求领域,代码迭代频繁,测试保障至关重要。然而传统全量扫描效率低下,耗时久、资源消耗大,成为研发流程瓶颈。如何实现高效精准测试?自动化测试平台Parasoft C/C++ Test 提供增量扫描解决方案,仅针对代码变更部分进行检测,显著提升测试效率,兼顾准确性与轻量化。
在本指南中,您将学习如何使用 Vaadin Copilot 的 Figma Importer API 将 Figma 中的组件复制并粘贴到 Vaadin 中作为 Java 或 React 代码。
可视化比例数据(例如市场份额、费用分布或调查结果)时,通常最好使用环形图。本文将介绍如何使用 C# 和Aspose.Cells for .NET在 Excel 中创建环形图。本指南提供了两个完整的、可直接运行的代码示例:一个基本的单系列环形图和一个带有自定义颜色和图例设置的多系列环形图,方便您立即将强大的可视化功能集成到任何 .NET 应用程序中。
相关产品
高效MVVM开发模式,WPF界面解决方案首选工具,帮助企业实现酷炫动效界面。
DevExpress DXperience Subscription高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!
DevExpress Universal Subscription优秀的界面控件开发包,帮助企业构建卓越应用!
最新文章 MORE
相关文章 MORE
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 
渝公网安备
50010702500608号
首页 