gridview列的汇总

简介:
Gridview 中我们会用到汇总的功能,因为前一段时间用到了,所以在此总结一下,作为以后的参考;
需要用到Gridview的 RowDataBound事件,  RowDataBound是在数据源与gridview的行绑定完成之后才执行 RowDataBound方法,也就是说数据源每和gridview的行绑定完成之后都会触发此事件,首先是要把gridview的showfooter属性设置为true,以便我们利用footer行进行统计

 

 


 
 
  1. //统计
  2. Decimal mysum3 = 0;
  3. Decimal mysum4 = 0;
  4. Decimal mysum5 = 0;
  5. Decimal mysum6 = 0;
  6. Decimal mysum7 = 0;
  7. protected void gvResult_RowDataBound(object sender, GridViewRowEventArgs e)
  8. {}

 

 

因为数据是会带有小数点的,所以定义decimal类型的 全局变量,存放进行数据统计之和,然后触发RowDataBound事件

 
 
  1. if (e.Row.RowType == DataControlRowType.DataRow)  
  2.         {  
  3.             //统计  
  4.             if (!string.IsNullOrEmpty(e.Row.Cells[6].Text.ToString()) && e.Row.Cells[6].Text.ToString() != " ")  
  5.             {  
  6.                 Decimal sum1 = decimal.Parse(e.Row.Cells[6].Text.ToString());  
  7.                 mysum3mysum3 = mysum3+sum1;  
  8.             }  
  9.  
  10.             if (!string.IsNullOrEmpty(e.Row.Cells[7].Text.ToString()) && e.Row.Cells[7].Text.ToString() != " ")  
  11.             {  
  12.                 Decimal sum2 = decimal.Parse(e.Row.Cells[7].Text.ToString());  
  13.                 mysum4mysum4 = mysum4 + sum2;  
  14.             }  
  15.  
  16.             if (!string.IsNullOrEmpty(e.Row.Cells[8].Text.ToString()) && e.Row.Cells[8].Text.ToString() != " ")  
  17.             {  
  18.                 Decimal sum3 = decimal.Parse(e.Row.Cells[8].Text.ToString());  
  19.                 mysum5mysum5 = mysum5 + sum3;  
  20.             }  
  21.  
  22.             if (!string.IsNullOrEmpty(e.Row.Cells[9].Text.ToString()) && e.Row.Cells[9].Text!=" ")  
  23.             {  
  24.                 Decimal sum4 = decimal.Parse(e.Row.Cells[9].Text.ToString());  
  25.                 mysum6mysum6 = mysum6 + sum4;  
  26.             }  
  27.             if (!string.IsNullOrEmpty(e.Row.Cells[10].Text.ToString()) && e.Row.Cells[10].Text.ToString() != " ")  
  28.             {  
  29.                 Decimal sum5 = decimal.Parse(e.Row.Cells[10].Text.ToString());  
  30.                 mysum7mysum7 = mysum7 + sum5;  
  31.             }  
  32.             
  33.               
  34.         } 

当源数据行和gridview行绑定完成之后,需要判断行类型是不是数据行,如果是数据行就会进入以上代码,然后需要判断gridview行的列是不是为空,和不等于 然后把当前行的列值和之前已绑定的数据行的列值进行相加;

 


 
 
  1. if (e.Row.RowType == DataControlRowType.Footer)  
  2.        {  
  3.            e.Row.Cells[0].Text = "<span align='center' style='color:red'>合计:</span>";  
  4.            e.Row.Cells[6].Text ="<span align='center' style='color:red'>"+ mysum3.ToString()+"</span>";  
  5.            e.Row.Cells[7].Text = "<span align='center' style='color:red'>" + mysum4.ToString() + "</span>";  
  6.            e.Row.Cells[8].Text = "<span align='center' style='color:red'>" + mysum5.ToString() + "</span>";  
  7.            e.Row.Cells[9].Text = "<span align='center' style='color:red'>" + mysum6.ToString() + "</span>";  
  8.            e.Row.Cells[10].Text = "<span align='center' style='color:red'>" + mysum7.ToString() + "</span>";  
  9.        } 

这里也是对绑定行进行判断,如果行类型是脚注行的话,进行脚注行的赋值操作,即把数据行的列之和赋值给脚注行的某列,赋值的同时可以给脚注列添加一些样式,把字体改为红色,更醒目

效果如下:


本文转自shenzhoulong  51CTO博客,原文链接:http://blog.51cto.com/shenzhoulong/713249,如需转载请自行联系原作者

相关文章
|
JSON 前端开发 JavaScript
Docusaurus框架——快速搭建markdown文档站点介绍sora
Docusaurus框架——快速搭建markdown文档站点介绍sora
492 0
|
Web App开发 移动开发 Linux
DP读书:《openEuler操作系统》(七)FSCK与VFS虚拟文件系统
DP读书:《openEuler操作系统》(七)FSCK与VFS虚拟文件系统
433 0
|
Dubbo JavaScript 前端开发
可视化Dubbo测试工具iubbox 2.0版本发布啦
可视化Dubbo测试工具iubbox 2.0版本发布啦
811 0
|
芯片 Python
M1 Mac 下使用python将doc批量转换为docx
M1 Mac 的兼容原因,win32com库无法引用,故而通过其他方法实现,将doc批量转换为docx。
1544 1
M1 Mac 下使用python将doc批量转换为docx
|
7月前
|
人工智能 运维 Serverless
一键部署 Qwen3! 0 代码,2 种方式全新体验
Qwen3 正式发布并开源 8 款混合推理模型,包括两款 MoE 模型(Qwen3-235B-A22B 和 Qwen3-30B-A3B)及六个 Dense 模型。这些模型支持 119 种语言,在代码、数学等测试中表现优异,并提供思考与非思考两种模式。依托阿里云函数计算 FC 算力,FunctionAI 平台支持模型服务和应用模板部署,适用于多种场景。用户可通过 Serverless 架构快速构建高弹性、智能化应用,显著降低开发成本,提升效率。试用链接及详细文档已提供,欢迎体验。
|
12月前
|
搜索推荐 索引 Python
使用Python批量生成个性化奖状
本文介绍了如何使用Python结合Pandas和python-pptx库,根据Excel数据表自动批量生成个性化PowerPoint格式的奖状文件,详细步骤包括导入库、读取数据、替换模板占位符及保存文件,有效提升工作效率。
393 64
|
数据采集 机器学习/深度学习 Python
深度学习中的高效数据预处理技巧
【7月更文第29天】在构建深度学习模型时,数据预处理是至关重要的步骤之一。高质量的数据预处理可以显著提高模型的性能并加速训练过程。本文将探讨几种有效的数据预处理技巧,包括数据清洗、特征归一化和数据增强,并通过实际的Python代码示例进行说明。
1285 5
|
设计模式 程序员 Android开发
android开发的基础,大厂程序员35岁后的职业出路在哪
android开发的基础,大厂程序员35岁后的职业出路在哪
android开发的基础,大厂程序员35岁后的职业出路在哪
|
存储 关系型数据库 MySQL
MySQL 索引优化:深入探索自适应哈希索引的奥秘
MySQL 索引优化:深入探索自适应哈希索引的奥秘
|
SQL Windows
保姆级:Windows Server 2012上安装.NET Framework 3.5
保姆级:Windows Server 2012上安装.NET Framework 3.5
2999 0