使用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封装了支持自定义列 ...
随机推荐
- 亚博 Arduino智能小车实验报告
亚博 Arduino智能小车实践报告 一. 程序安装准备 首先安装了Arduino板载USB转串口CH340驱动安装包, 若上述程序安装成功,则可以在我的电脑中找到相应的端口 本机端口号为CO ...
- Javascript设计模式之我见:迭代器模式
大家好!本文介绍迭代器模式及其在Javascript中的应用. 模式介绍 定义 提供一种方法顺序一个聚合对象中各个元素,而又不暴露该对象内部表示. 类图及说明 Iterator抽象迭代器 抽象迭代器负 ...
- Quartz.NET syudy
Quartz.NET Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它 ...
- 【WEB API项目实战干货系列】- 接口文档与在线测试(二)
上一篇: [WEB API项目实战干货系列]- Web API 2入门(一) 这一篇我们主要介绍如何做API帮助文档,给API的调用人员介绍各个 API的功能, 输入参数,输出参数, 以及在线测试 A ...
- flatbuffers 使用问题记录
1. 命名空间的问题 ----------------------------- namespace 1.0.3 版本包含文件类型前面不需要加命名空间,但是1.1.0 中包含需要在类型前加命名空间 i ...
- 标准I/O
在程序运行时,会默认为我们打开三个流:标准输入流.标准输出流.标准出错流. 标准输入流一般对应我们的键盘 标准输出流一般对应显示器 标准出错流一般也对应显示器 1.标准输入流 在标准I/O中,java ...
- SpringMVC实现Restful风格的WebService
1.环境 JDK7 MyEclipse2014 tomcat8 maven 3.3.3 spring4.1.4 2.创建maven工程 使用MyEclipse创建maven工程的方式可以参考这篇博文( ...
- AngularJS开发指南14:AngularJS的服务详解
服务是一种由服务器端带到客户端的特性,它由来已久.AngularJS应用中的服务是一些用依赖注入捆绑在一起的可替换的对象.服务是最常和依赖注入一起用的,它也是AngularJS中的关键特性. 接下来, ...
- ECMAScript —— 学习笔记(思维导图版)
导图
- Hibernate-org.hibernate.QueryException: could not resolve property: code of:
查询的时候有个属性跟表里的字段不符合,没有完全匹配上.