C1FlexGrid.Subtotal方法可以增加包含普通(非小计)行的汇总数据的分类汇总行。

分类汇总支持分层聚合。例如,如果你的表格包含销售数据,你可能会通过产品、地区和推销员来小计一下以得出总的销售数字。下面的代码说明了这一点:

  1:         private void UpdateTotals()
  2:         {
  3:             // clear existing totals
  4:             _flex.Subtotal(AggregateEnum.Clear);
  5:
  6:             // calculate subtotals (three levels, totals on every column)
  7:             for (int c = 3; c < _flex.Cols.Count; c++)
  8:             {
  9:                 if (_chkGrand.Checked)
 10:                     _flex.Subtotal(AggregateEnum.Sum, 0, -1, c, "各类产品合计");
 11:                 if (_chkDirection.Checked)
 12:                     _flex.Subtotal(AggregateEnum.Sum, 1, 1, c, "{0}合计");
 13:                 if (_chkRegion.Checked)
 14:                     _flex.Subtotal(AggregateEnum.Sum, 2, 2, c, "{0}方区域合计");
 15:             }
 16:
 17:             // done, autosize columns to finish
 18:             _flex.AutoSizeCols();
 19:         }

代码中重要接口说明:

_flex.Tree.Column:获取或设置树形结构在哪一列显示。

_flex.Subtotal(AggregateEnum.Sum, -1, -1, 3, "Grand Total");

参数1:同时方式

参数2:当前树节点的级别,-1 为最外层节点

参数3:用于获取分组信息的列

参数4:统计的列

参数5:分组说明文本信息

即上述代码设置了三层分组,第一层为所有销售信息的汇总。第二层以产品类别分组,第三层以区域信息进行分组。

当C1FlexGrid.Subtotal方法添加了汇总信息行,它会自动分配汇总样式到新的行(有五个层级的分类汇总内置样式)。你可以使用“样式编辑器”或代码在设计器中改变大纲样式的属性,以此来自定义分类汇总行的外观。例如:

  1: // 设置分类汇总的样式。
  2: CellStyle cs;
  3: cs = _flex.Styles[CellStyleEnum.GrandTotal];
  4: cs.BackColor = Color.Black;
  5: cs.ForeColor = Color.White;
  6: cs.Font = new Font(Font, FontStyle.Bold);
  7: cs = _flex.Styles[CellStyleEnum.Subtotal0];
  8: cs.BackColor = Color.DarkRed;
  9: cs.ForeColor = Color.White;
 10: cs.Font = new Font(Font, FontStyle.Bold);
 11: cs = _flex.Styles[CellStyleEnum.Subtotal1];
 12: cs.BackColor = Color.DarkBlue;
 13: cs.ForeColor = Color.White;
 14: 

执行此代码后,表格看起来是这样的:

除了总量之外,你也可以计算其他分类汇总(例如,平均值或百分比),并计算每一行的几个汇总(例如,毛销售额及净销售额)。

Demo 下载:

VS2010 + C# + Framework 4.0 + Studio for Winforms 2013V3 点击下载

VS2010 + VB.NET + Framework 4.0 + Studio for Winforms 2013V3 点击下载

Studio for Winforms FlexGrid: 创建分类汇总的更多相关文章

  1. Studio for Winforms FlexGrid:导出到 PDF 文件

    本篇文章主要介绍如何导出 FlexGrid 到 PDF 格式文件.本文源于论坛用户,有多个用户提出如何把 FlexGrid 导出到 PDF 文件的需求.在这里共享给大家. 当前,ComponentOn ...

  2. GitHub上史上最全的Android开源项目分类汇总 (转)

    GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...

  3. GitHub上史上最全的Android开源项目分类汇总

    今天在看博客的时候,无意中发现了 @Trinea 在GitHub上的一个项目 Android开源项目分类汇总 ,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫 ...

  4. Android 开源项目分类汇总(转)

    Android 开源项目分类汇总(转) ## 第一部分 个性化控件(View)主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Galler ...

  5. Android 开源项目分类汇总

    Android 开源项目分类汇总 Android 开源项目第一篇——个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView ...

  6. Android开源项目分类汇总【畜生级别】[转]

    Android开源项目分类汇总 欢迎大家推荐好的Android开源项目,可直接Commit或在 收集&提交页 中告诉我,欢迎Star.Fork :) 微博:Trinea    主页:www.t ...

  7. Android开源项目分类汇总[转]

    Android开源项目分类汇总 如果你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork Android优秀开源项目实现原理解析欢迎加入 QQ 交流群:383537512(入群理由需要填写群 ...

  8. Android开源项目分类汇总【畜生级别】

    From :http://blog.csdn.net/forlong401/article/details/25459403?c=6c4cd677a617db4655988e41ee081691#t7 ...

  9. Android开源项目分类汇总-转载

    太长了,还是转载吧...今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参 ...

随机推荐

  1. 阿里前DBA的故事

    别人怎么享受生活,与你无关.你怎么磨砺与你有头.引用同事周黄江的一句话,很多人努力程度还远没有到拼天赋的时候. 成功的人都是那种目标很明确的人.对于文中厨师的经历很感兴趣.不管是IT还是餐饮,哪个行业 ...

  2. CSS技巧(二):CSS hack

    什么是CSS hack CSS hack由于不同的浏览器,比如IE6,IE7,Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果. 这个时候我们就需 ...

  3. Ubuntu 16.04 LTS更新

    Canonical今天正式发布了新版的Ubuntu系统,针对PC.笔记本.上网本.平板和智能手机各类设备.这次的Ubuntu 16.04代号为Xenial Xerus——这个代号是由Canonical ...

  4. coreData 深入理解4 --总结 (线程安全与同步--iOS5 前后对比)

    Core Data是iOS中很重要的一个部分,可以理解为基于SQLite(当然也可以是其他的Storage,如In-memory,只是SQLite比较常见)的一个ORM实现,所以有关系数据库的特性,又 ...

  5. 用gameMaker做个小游戏

    看下面这个课程链接,半小时学会 http://study.163.com/course/courseMain.htm?courseId=352004#/courseMain 这是我做的:http:// ...

  6. SQL1159 Initialization error with DB2 .NET Data Provider, reason code 7(问题补充)

    SQL1159 Initialization error with DB2 .NET Data Provider, reason code 7 需要注册GAC,修改注册表 IBM官方方案: http: ...

  7. 【开源框架】EFW框架中的系统权限与页面子权限详解

    回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.3:http://pan.baidu.com/s/1c0dADO0 EFW框架实例源代码下载:http://pan.baid ...

  8. [引用]SQLServer占CPU100%

    程序猿是如何解决SQLServer占CPU100%的   文章目录 遇到的问题 使用SQLServer Profiler监控数据库 SQL1:查找最新的30条告警事件 SQL2:获取当前的总报警记录数 ...

  9. MFC ADO连接Oracle12c数据库 服务端配置

    要想客户端访问服务器端的oracle数据库的话,还需要服务端设置下监听程序及本地网络服务名配置. 发现百度文库上面有这方面的文档,我就不重复写了.请参照一下网址: http://wenku.baidu ...

  10. 【.Net底层剖析】2.stfld指令-给对象的字段赋值

    .Net底层剖析目录章节 1.[深入浅出.Net IL]1.一个For循环引发的IL 2.[.Net底层剖析]2.stfld指令-给对象的字段赋值 3.[.Net底层剖析]3.用IL来理解属性 引言: ...