Devexpress控件集提供的DataGrid控件,在功能和界面样式上都完爆WinForm的DataGridView控件,以前需要在 DataGridView控件上进行某列的统计,需要在GridView底部重新绘制区域来显示sum,count等计算值。但Devexpress控件 的DataGrid控件,在数据绑定方式上与DataGridView类似,在统计某列合计值得时候提供了自带的合计求值功能,不但是这样,还提供了显示 格式。本文将介绍如何使用自带计算和自定义计算以及自定义显示聚合结果格式来进行说明。

项目工程使用绑定数据方式为DataSet,具体操作流程不再进行说明。

    1. 使用自带计算方式
      首先点击窗体设计器的“Run Designer"按钮,打开属性编译器。

      在打开的属性设计器中找到Options->OptionsView->ShowFooter设置为True.

      下面选择指定的列进行聚合统计。

      选择Columns,在中间部分选择了价格,在右侧栏找到数据->SummaryItem->SummaryType,看到有很多常用的聚合函数显示,选择Sum。注意上边的DisplayFormat,它就是用来设置显示格式的(比如:{0:f2}),也是使用占位符形式。关闭设计器,运行项目
      在DataGrid控件底部显示的合计为12.

    2. 使用自定义计算来统计数据,比如我想在原有的统计结果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的更多相关文章

  1. 使用XtraGrid自定义列计算 z

    绑定Master-Detail 关系 数据也是数据显示的一种方式,此实例使用后台代码创建数据源并绑定到gridcontrol. 其实方式参见:点击打开链接 先看效果图(默认方式) 直接给出后台代码,主 ...

  2. DevExpress 之 GridControl 自定义列

    Ø  前言 DevExpress 控件大家应该都有所了解,使用这个框架实现B/S或C/S的,都是非常出色的.本文主要讨论下 GridControl 中如何[自定义列]或[计算列],可使用以下两种方法实 ...

  3. 在【自定义列】中编辑简单运算公式(Power Query 之 M 语言)

    数据源: "品名"."数量"."单价"三列 目标: 计算销售单价(单价*1.2) 解决方案: 在[自定义列]中使用乘法四则运算 步骤: 打开 ...

  4. EasyUI Datagrid 自定义列、Foolter及单元格编辑

    1:自定义列,包括 Group var head1Array = []; head1Array.push({ field: 'Id', title: 'xxxx', rowspan: 2 }); he ...

  5. Android窗口管理服务WindowManagerService计算窗口Z轴位置的过程分析

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8570428 通过前面几篇文章的学习,我们知道了 ...

  6. DevExpress ASP.NET 使用经验谈(8)-ASPxGridView自定义列和基本事件

    为演示本节示例,我们在原来Users表增加[性别Gender].[兴趣爱好Hobbies],[CreateTime创建时间],[ModifyTime]修改时间这4个字段, ALTER TABLE [d ...

  7. Dos.ORM Select查询 自定义列

    自定义列 .Select( p = >new{ test = p.id}) // 同sql 列名 as 新列名 如下是 自己在写代码的例子,查询,分页,where条件,排序 var where ...

  8. 后台生成EXCEL文档,自定义列

    后台生成EXCEL文档,自定义列 //response输出流处理 //设置编码.类型.文件名 getResponse().reset(); getResponse().setCharacterEnco ...

  9. NOPI实现导入导出泛型List,支持自定义列

    概述 业务上需要自定义列的Excel的导入导出,在网上看了好多资料,很多都是有Bug而且都是支持Excel和DataTable的转换,所以自己总结了一下,应用.NET平台上的NPOI封装了支持自定义列 ...

随机推荐

  1. Listview实现不同类型的布局

    打开各种客户端发现 Listview的布局多种多样,在我以前的认知中listview不是只能放一种item布局嘛,我就震惊了,现在我自己的项目上要用到这种方式那么就去做下 原理是listview 的a ...

  2. 分页-pagination

    需先引入jQuery,再引入pagination组件 <script src="jquery.js"></script> <script src=&q ...

  3. 信息安全系统设计基础exp_1

    详见搭档20135322郑伟博客链接:http://www.cnblogs.com/zhengwei0712/

  4. Qt opencv程序运行异常

    搭建了两次qt opencv vs ,经常出现程序运行异常.找了几个原因如下: 1.opencv的路径未配置或配置有误. 2.qt中pro文件包含不正确. 3.测试opencv程序不正确.如视频或图片 ...

  5. (旧)子数涵数·PS——冷色调与LOMO

    一.准备素材(我是从百度图库里下载的) 二.打开PS和素材 三.复制图层,快捷键Ctrl+J,并把原图层隐藏,只在副本上编辑(好习惯) 四.使用"匹配颜色"命令,增加"明 ...

  6. blur效果,模糊效果css

    .blur { -webkit-filter: blur(5px);   -moz-filter: blur(5px);   -o-filter: blur(5px);   -ms-filter: b ...

  7. 3、面向对象以及winform的简单运用(类的初步认识)

    什么是类? “类”是面向对象编程的基本单元,一个类一般包含两种成员:字段和方法——即变量和函数. 例: //字段或变量的定义 public int age; //方法或函数的定义 public int ...

  8. Bootstrap3.0学习第十一轮(输入框组)

    详情请查看http://aehyok.com/Blog/Detail/17.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...

  9. PHP微信登錄(網頁授權)之後的獲取用戶的信息

    //這部峯代碼是封裝的庫文件,<?php /** * Created by PhpStorm. * User: root * Date: 16-6-23 * Time: 下午3:29 */ cl ...

  10. android常用的弹出提示框

    我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可能首先会想到,通过继承等 ...