DataGrid分组就不再介绍了,主要讲下如何把分组后的数据统计并显示出来,思路如下:

DataGrid分组产生的组类型为CollectionViewGroup,其Items属性即组内元素,自定义一个转换类GroupSum计算如求和等统计数据(这里就以求和为例),在GroupStyle中用转换一下即可;

下面是相关类的定义和xaml代码:

public class GroupSum : IValueConverter{#region 分组组内求和public object Convert(object value, Type targetType, object parameter, CultureInfo culture){var total = 0.0;// DataGrid分组后对应的组及组内元素CollectionViewGroup.Items 类型是ReadOnlyObservableCollection<object>if (value is ReadOnlyObservableCollection<object> items){foreach (var item in items){var de = item as XXXX(我自定义的类);total += de.ZongJia;}}return Math.Round(total, 2).ToString();}public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture){throw new NotImplementedException();}#endregion}

xaml文件中添加:

....xmlns:local1="clr-namespace:命名空间..."
....<UserControl.Resources><local1:GroupSum x:Key="GroupSum" /></UserControl.Resources>
...

在DataGrid内部定义分组样式DataGrid.GroupStyle

xaml代码:

<DataGrid.GroupStyle><GroupStyle><GroupStyle.HeaderTemplate><DataTemplate><StackPanel Orientation="Horizontal"><TextBlockPadding="3"Background="LightBlue"FontWeight="Bold"Text="{Binding Path=Name}" /><TextBlockPadding="3"Background="LightBlue"FontWeight="Bold"Text="{Binding Path=ItemCount, StringFormat='{}共:{0}笔'}" /><TextBlockPadding="3"Background="LightBlue"FontWeight="Bold"><TextBlock.Text><BindingConverter="{StaticResource GroupSum}"Path="Items"StringFormat="{}共:{0}元" /></TextBlock.Text></TextBlock></StackPanel></DataTemplate></GroupStyle.HeaderTemplate></GroupStyle></DataGrid.GroupStyle>

重点是:把Items(即CollectionViewGroup.Items)传给转换类进行处理即可

<TextBlock.Text><BindingConverter="{StaticResource GroupSum}"Path="Items"StringFormat="{}共:{0}元" />
</TextBlock.Text>

最后的效果图:

自己做项目遇到的小需求,网上没有找到关于“DataGrid分组统计”比较合适的解决方案,这里提供一个思路,仅供参考,希望能帮助到有需求的小伙伴。

C# WPF DataGrid 分组统计相关推荐

  1. sql server 经典SQL——分组统计

    一.分组统计 数据 name dtdate result aa 2017-01-04 1 aa 2017-01-04 1 aa 2017-01-05 1 aa 2017-01-05 0 bb 2017 ...

  2. pandas使用groupby函数对dataframe进行分组统计、使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index)

    pandas使用groupby函数对dataframe进行分组统计.使用as_index参数设置分组聚合的结果中分组变量不是dataframe的索引(index) 目录

  3. R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法、data.table、dplyr等方案、计算滑动分组统计

    R语言进行数据聚合统计(Aggregating transforms)计算滑动窗口统计值(Window Statistics):使用R原生方法.data.table.dplyr等方案.计算滑动分组统计 ...

  4. Elasticsearch Aggregation 多个字段分组统计 Java API实现

    2019独角兽企业重金招聘Python工程师标准>>> 现有索引数据: index:school type:student ----------------------------- ...

  5. mysql 按小时分组统计_PowerBI业务分析:按排名分组统计

    对数据进行分组统计是常用的一种分析方式,之前的文章中曾介绍了按照客户订单数量进行分组统计,Power BI 数据分析应用:客户购买频次分布这篇文章介绍一下PowerBI如何按照客户的排名进行分组统计, ...

  6. Oracle之数据操作__分组统计查询

     一. 统计函数        1. COUNT(*),COUNT(字段),COUNT(DISTNCT 字段) SELECT COUNT(*),COUNT(ename),COUNT(comm),COU ...

  7. WPF Datagrid with some read-only rows - Stack Overflow

    原文:WPF Datagrid with some read-only rows - Stack Overflow up vote 21 down vote accepted I had the sa ...

  8. WPF - Group分组对ListBox等列表样式的约束

    原文:WPF - Group分组对ListBox等列表样式的约束 在做WPF主题支持时,出现一个分组引起的莫名错误,可是折腾了我一番.在没有使用样式时,列表分组很正常,使用了别人写的ListBox列表 ...

  9. 问题 B: 分组统计

    分组统计 问题 B: 分组统计时间限制: 1 Sec 内存限制: 32 MB 提交: 416 解决: 107 [提交][状态][讨论版][命题人:外部导入] 题目描述 先输入一组数,然后输入其分组,按 ...

最新文章

  1. 页面布局让footer居页面底部_网站各页面该如何布局关键词优化提升排名?
  2. 关于使用wcf架构分布式系统的一点想法
  3. 各种编程语言的深度学习库整理(中英版)
  4. “睡服”面试官系列第二十一篇之class基本语法(建议收藏学习)
  5. 使用Dundas控件在web应用上展现多维数据集(二)
  6. c#点击按钮调出另一个窗体_在类库或winform项目中打开另一个winform项目窗体的方法...
  7. 随手记_英语_学术写作
  8. 一文看懂 9 种Transformer结构!
  9. Matter-JS friction 摩擦力
  10. ADS(Advanced Design system)仿真对电路进行阻抗匹配
  11. android http统一回调,Android使用OKHttp构建带进度回调的多文件下载器
  12. MRP系统运行计算逻辑浅析
  13. 萤石云视频PC客户端v2.6.14.0官方最新版
  14. Alphago进化史 漫画告诉你Zero为什么这么牛
  15. 苹果双系统怎么切换_Mac如何删除双系统中的windows系统
  16. 自动擦地机器人需要怎么留电_irobot擦地机器人是否好用,需要和扫地机器人配合么?...
  17. 操作系统之经典 | 生产者与消费者问题
  18. 国外it的一些学习网站
  19. 中国人寿张青南:中国人寿如何基于容器构建PaaS平台
  20. ”真相是否只有一个?”麻省理工学院带你数据可视化分析假新闻

热门文章

  1. koa mysql_使用koa+mysql实现一个完整的项目
  2. 第五人格贴纸如同纸糊?最近建模师是换了一批人吗
  3. 货车运输--kruscal重构树板子
  4. Word控件Spire.Doc 转换教程(九):在 Doc 转PDF 转换期间设置图像质量
  5. angular 模板引用变量 #变量名
  6. 不要再担心旅游景点英语翻译问题啦
  7. 如何让动态的公网ip地址一直不变
  8. 提炼活动创意的三大方式?研究28场刷屏级活动,百格活动为你讲解
  9. 怎样将多张jpg图片转成PDF文件来查看
  10. python 学习第七讲作业 2020-12-29