使用XtraGrid自定义列计算1 z
Devexpress控件集提供的DataGrid控件,在功能和界面样式上都完爆WinForm的DataGridView控件,以前需要在 DataGridView控件上进行某列的统计,需要在GridView底部重新绘制区域来显示sum,count等计算值。但Devexpress控件 的DataGrid控件,在数据绑定方式上与DataGridView类似,在统计某列合计值得时候提供了自带的合计求值功能,不但是这样,还提供了显示 格式。本文将介绍如何使用自带计算和自定义计算以及自定义显示聚合结果格式来进行说明。
项目工程使用绑定数据方式为DataSet,具体操作流程不再进行说明。
- 使用自带计算方式
首先点击窗体设计器的“Run Designer"按钮,打开属性编译器。
在打开的属性设计器中找到Options->OptionsView->ShowFooter设置为True.下面选择指定的列进行聚合统计。
选择Columns,在中间部分选择了价格,在右侧栏找到数据->SummaryItem->SummaryType,看到有很多常用的聚合函数显示,选择Sum。注意上边的DisplayFormat,它就是用来设置显示格式的(比如:{0:f2}),也是使用占位符形式。关闭设计器,运行项目
在DataGrid控件底部显示的合计为12.
- 使用自定义计算来统计数据,比如我想在原有的统计结果sum=12的基础上加10。该功能需要使用GridView,(注意是GridView,不是GridControl)的CustomSummaryCalculate事件。在使用之前,还需要将该列的SummaryType 设置成Custom。
直接上代码了:
if (e.IsTotalSummary && e.SummaryProcess == DevExpress.Data.CustomSummaryProcess.Finalize)
{
GridView view = sender as GridView;
if (e.Item == view.Columns["Price"].SummaryItem)
{
int count = ;
for (int i = ; i < view.DataRowCount; i++)
{
object temp = view.GetRowCellValue(e.RowHandle, "Price");
temp = (temp == DBNull.Value || temp == null) ? : temp;
count += Convert.ToInt32(temp);
}
e.TotalValue = count + ;
}
}
- 运行项目:
结果很明显增加了10.
- 设置列的显示格式,一般情况下我们需要在合计的部分加上汉字,如:合计:12,这时候就需要使用上面提到的DisplayFormat
将SummaryItem中的DisplayFormat设置为合计:{0}
到此,关于列求和的阐述就到这了,像其它的聚合函数的使用就不再叙述了。通过使用DataGrid自带求列聚合值方式,发现使用起来相当的方便,除了自定义方式,根本不需要编写任何代码。
使用XtraGrid自定义列计算1 z的更多相关文章
- 使用XtraGrid自定义列计算 z
绑定Master-Detail 关系 数据也是数据显示的一种方式,此实例使用后台代码创建数据源并绑定到gridcontrol. 其实方式参见:点击打开链接 先看效果图(默认方式) 直接给出后台代码,主 ...
- DevExpress 之 GridControl 自定义列
Ø 前言 DevExpress 控件大家应该都有所了解,使用这个框架实现B/S或C/S的,都是非常出色的.本文主要讨论下 GridControl 中如何[自定义列]或[计算列],可使用以下两种方法实 ...
- 在【自定义列】中编辑简单运算公式(Power Query 之 M 语言)
数据源: "品名"."数量"."单价"三列 目标: 计算销售单价(单价*1.2) 解决方案: 在[自定义列]中使用乘法四则运算 步骤: 打开 ...
- EasyUI Datagrid 自定义列、Foolter及单元格编辑
1:自定义列,包括 Group var head1Array = []; head1Array.push({ field: 'Id', title: 'xxxx', rowspan: 2 }); he ...
- Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8570428 通过前面几篇文章的学习,我们知道了 ...
- DevExpress ASP.NET 使用经验谈(8)-ASPxGridView自定义列和基本事件
为演示本节示例,我们在原来Users表增加[性别Gender].[兴趣爱好Hobbies],[CreateTime创建时间],[ModifyTime]修改时间这4个字段, ALTER TABLE [d ...
- Dos.ORM Select查询 自定义列
自定义列 .Select( p = >new{ test = p.id}) // 同sql 列名 as 新列名 如下是 自己在写代码的例子,查询,分页,where条件,排序 var where ...
- 后台生成EXCEL文档,自定义列
后台生成EXCEL文档,自定义列 //response输出流处理 //设置编码.类型.文件名 getResponse().reset(); getResponse().setCharacterEnco ...
- NOPI实现导入导出泛型List,支持自定义列
概述 业务上需要自定义列的Excel的导入导出,在网上看了好多资料,很多都是有Bug而且都是支持Excel和DataTable的转换,所以自己总结了一下,应用.NET平台上的NPOI封装了支持自定义列 ...
随机推荐
- CSS 清除浮动的四种方法
在实际项目中,我们经常会用到float属性来对页面进行布局.当使用float时,意味着该元素已经脱离了文档流,相当于浮于文档之上,不占据空间.但是针对兄弟元素为文字内容时,会占据一定空间,从而产生文字 ...
- matlab中textread
今天打算跑下程序,突然发现,真的很烂,不会读入数据,简单的Iris.txt一上午都没读进去,在此对matlab中的textread函数做下总结,textscan函数待续. 本文主要内容引自http:/ ...
- [CareerCup] 4.8 Contain Tree 包含树
4.8 You have two very large binary trees: Tl, with millions of nodes, and T2, with hundreds of nodes ...
- 记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)
项目上线以来一直存在一个比较揪心的问题,和一个没有信心处理的BUG,那就是在应用程序启动时有可能会导致cpu跑满99%或持续在一个值如50%左右,这样一来对服务器的压力是非常大的,经常出现服务器无法远 ...
- Windows的Subversion备份脚本
2015-12-08更新:备份时添加--revision head 只备份最新的版本,已从脚本中移除. 2013-12-09更新:forfiles命令添加错误输出日志. 2013-12-04更新:添加 ...
- EF实体框架之CodeFirst八
前面七篇基本把Code First学习了一下,不过code first中会出现一个问题,就是数据迁移的问题. 一.数据准备 还是在前面的demo上修改,这次使用Province和City类. publ ...
- 16.C#初见Lambda表达式及表达式树(九章9.1-9.3)
在说明Lambda相关知识前,我们需要了解Lambda表达式常用于LINQ,那么我们来聊下LINQ. LINQ的基本功能就是创建操作管道,以及这些操作需要的任何状态.这些操作表示了各种关于数据的逻辑: ...
- SQL删除重复的记录(只保留一条)
首先新建表: --创建示例表 CREATE TABLE t ( id ,) PRIMARY KEY, a ), b ) ) --插入数据 INSERT INTO t SELECT 'aa','bb' ...
- Java Web整合开发实战:基于Struts 2+Hibernate+Spring 目录
第1篇 Java Web开发基础第1章 Web的工作机制( 教学视频:31分钟) 1.1 理解Web的概念 1.1.1 Web的定义 1.1.2 Web的三个核心标准 1.2 C/S与B/S两种软件体 ...
- 基本的mediaQuery写法,不复习又忘记了
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...