Studio for Winforms FlexGrid: 创建分类汇总
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: 创建分类汇总的更多相关文章
- Studio for Winforms FlexGrid:导出到 PDF 文件
本篇文章主要介绍如何导出 FlexGrid 到 PDF 格式文件.本文源于论坛用户,有多个用户提出如何把 FlexGrid 导出到 PDF 文件的需求.在这里共享给大家. 当前,ComponentOn ...
- GitHub上史上最全的Android开源项目分类汇总 (转)
GitHub上史上最全的Android开源项目分类汇总 标签: github android 开源 | 发表时间:2014-11-23 23:00 | 作者:u013149325 分享到: 出处:ht ...
- GitHub上史上最全的Android开源项目分类汇总
今天在看博客的时候,无意中发现了 @Trinea 在GitHub上的一个项目 Android开源项目分类汇总 ,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参考价值,包括很炫 ...
- Android 开源项目分类汇总(转)
Android 开源项目分类汇总(转) ## 第一部分 个性化控件(View)主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Galler ...
- Android 开源项目分类汇总
Android 开源项目分类汇总 Android 开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView ...
- Android开源项目分类汇总【畜生级别】[转]
Android开源项目分类汇总 欢迎大家推荐好的Android开源项目,可直接Commit或在 收集&提交页 中告诉我,欢迎Star.Fork :) 微博:Trinea 主页:www.t ...
- Android开源项目分类汇总[转]
Android开源项目分类汇总 如果你也对开源实现库的实现原理感兴趣,欢迎 Star 和 Fork Android优秀开源项目实现原理解析欢迎加入 QQ 交流群:383537512(入群理由需要填写群 ...
- Android开源项目分类汇总【畜生级别】
From :http://blog.csdn.net/forlong401/article/details/25459403?c=6c4cd677a617db4655988e41ee081691#t7 ...
- Android开源项目分类汇总-转载
太长了,还是转载吧...今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都非常有参 ...
随机推荐
- Crystal Reports 支持的纸张种类
DefaultPaperSize Paper10x14 254 x 355.6 mm Paper11x17 279.4 x 431.8 mm PaperA3 A3 ?,297 x 420 mm Pap ...
- python-推荐
users={"Angelica": {"Blues Traveler": 3.5, "Broken Bells": 2.0, " ...
- Android Studio开发JNI工程
转:http://www.2cto.com/kf/201412/361768.html 使用Android Sutdio创建一个新的工程后,接下来记录创建NDK工程的基本步骤. 本文将达到: 1. 创 ...
- smdkv210
参考:http://code.google.com/p/libyuv/issues/detail?id=295 ******************************************** ...
- php 连接redis,并登录验证
环境: centos7 上安装了redis, 同时安装了php的redis扩展 yum install redis yum install php-pecl-redis redis服务端设置了登录密码 ...
- Canvas现实画板功能
先看图片 HTML <!doctype html> <html lang="en"> <head> <meta charset=" ...
- Go语言获取项目当前路径
package main import ( "fmt" "os" "os/exec" "strings" ) func ...
- CSS之边框覆盖
今天想做一个淘宝导航来练练手,遇到了边框覆盖的问题.如下图: li的红色边框盖不住该灰色边框.后来问经验人士告诉我,这种边框覆盖是会出现无法100%保证正常的情况,遂得到如下3中解决方案: 1.以后遇 ...
- Legolas工业自动化平台案例 —— 水源地自动化监控系统
天津港爆炸事件后,除了安置群众.追究事故责任外,人们最关心的莫过于爆炸污染物对于周边环境的影响,其中最重要的一块就是饮用水的安全.所幸的是,水源的安全监测是实实在在有据可依的.环保单位和供水企业在建设 ...
- MyBatis知多少(25)动态SQL
使用动态查询是MyBatis一个非常强大的功能.有时你已经改变WHERE子句条件的基础上你的参数对象的状态.在这种情况下的MyBatis提供了一组可以映射语句中使用,以提高SQL语句的重用性和灵活性的 ...