实现对数据进行分组小计并计算合计的实例 asp.net
可以通过数据绑定来实现 通过union all 来实现数据库
SELECT * FROM v3_pay_list2 where ( (ought_date >= '2012-12-06') and (ought_date <'2013/9/16 0:00:00') and (corp_id = '0001'))
union all select 'XXXXXXXXXX', corp_id,dep_id,dep_name,vendor_id,'','', sum(amt),'','',vendor_pay,vendor_approval from (select * from v3_pay_list where ( (ought_date >= '2012-12-06') and (ought_date <'2013/9/16 0:00:00') and (corp_id = '0001')) ) u1 group by corp_id,dep_id,dep_name,vendor_id,vendor_pay,vendor_approval
union all select 'YYYYYYYYYY', corp_id,dep_id,dep_name,'Z','','',sum(amt),'','',vendor_pay,vendor_approval from (select * from v3_pay_list where ( (ought_date >= '2012-12-06') and (ought_date <'2013/9/16 0:00:00') and (corp_id = '0001')) ) u2 group by corp_id,dep_id,dep_name,vendor_pay,vendor_approval
union all select '','','ZZZZZZZZZZ','','','','',sum(amt),'','',max(vendor_pay),max(vendor_approval) from (select * from v3_pay_list where ( (ought_date >= '2012-12-06') and (ought_date <'2013/9/16 0:00:00') and (corp_id = '0001'))) u3 having sum(amt) is not null order by dep_id ,vendor_id ,compare_list_id
查出的结果类似于:

这样的结果集 然后在Gridview OnRowDataBound 事件中进行绑定修改:
protected void dgResult_ItemDataBound(object sender, DataGridItemEventArgs e)
{
//设置datagrid的颜色
e.Item.BackColor = CommonTools.getDGRowColor(e.Item.ItemIndex + 1); //设置小计和合计
DataRowView drv = (DataRowView)e.Item.DataItem;
if (drv != null)
{
if (drv["compare_list_id"].ToString().Trim().Equals("XXXXXXXXXX"))
{
e.Item.BackColor = CommonTools.SubRowColor;
e.Item.Cells[0].Text = "小计:";
e.Item.Cells[0].ColumnSpan = 5;
for (int i = 1; i < 5; i++)
e.Item.Cells.RemoveAt(1);
e.Item.Cells[0].HorizontalAlign = HorizontalAlign.Right;
e.Item.Cells[1].HorizontalAlign = HorizontalAlign.Right;
e.Item.Cells[2].Text = " ";
e.Item.Cells[3].Text = " ";
}
else if (drv["compare_list_id"].ToString().Trim().Equals("YYYYYYYYYY"))
{
e.Item.BackColor = CommonTools.TotalRowColor;
e.Item.Cells[0].Text = "合计:";
e.Item.Cells[0].ColumnSpan = 5;
for (int i = 1; i < 5; i++)
e.Item.Cells.RemoveAt(1);
e.Item.Cells[0].HorizontalAlign = HorizontalAlign.Right;
e.Item.Cells[1].HorizontalAlign = HorizontalAlign.Right;
e.Item.Cells[2].Text = " ";
e.Item.Cells[3].Text = " ";
}
else if (drv["dep_id"].ToString().Trim().Equals("ZZZZZZZZZZ"))
{
e.Item.BackColor = CommonTools.TotalRowColor;
e.Item.Cells[0].Text = "总计:";
e.Item.Cells[0].ColumnSpan = 5;
for (int i = 1; i < 5; i++)
e.Item.Cells.RemoveAt(1);
e.Item.Cells[0].HorizontalAlign = HorizontalAlign.Right;
e.Item.Cells[1].HorizontalAlign = HorizontalAlign.Right;
e.Item.Cells[2].Text = " ";
e.Item.Cells[3].Text = " ";
}
else
{
e.Item.Cells[1].Text = CommonTools.TrimZeroLeft(e.Item.Cells[1].Text.Trim());
}
}
}
实现对数据进行分组小计并计算合计的实例 asp.net的更多相关文章
- PB gird类型数据窗口 设置分组、分组小计、合计
今天遇到一个需求,gird表格数据如下: 部门 类型 数据 A 类型1 1 A 类型2 2 B 类型1 3 B 类型2 4 合计 10 实际需要显示的结果为: 部门 ...
- Oracle分组小计、总计示例(grouping sets的使用)
1.首先创建一个表 create table TE ( ID VARCHAR2(2), T_CODE VARCHAR2(4), T_NAME VARCHAR2(4), T_A ...
- vue 动态合并单元格、并添加小计合计功能
1.效果图 2.后台返回数据格式(平铺式) 3.后台返回数据后,整理所需要展示的属性存储到(items)数组内 var obj = { "id": curItems[i].id, ...
- SQLSERVER 使用 ROLLUP 汇总数据,实现分组统计,总计(合计),小计
版权声明:本文为博主原创文章,未经博主允许不得转载.本人观点或有不当之处,请在评论中及时指正,我会在第一时间内修改. https://blog.csdn.net/aiming66/article/de ...
- SQLSERVER 使用 ROLLUP 汇总数据,实现分组统计,合计,小计
表结构: CREATE TABLE [dbo].[Students]( ,) NOT NULL, ) NULL, [Sex] [int] NOT NULL, ) NULL, ) NULL, , ) N ...
- Druid数据迁移小计
Druid数据迁移小计 Druid 官方网站上讲了相关的 Dump Segment 和 Insert Segment 相关的功能,但是经过测试这些功能都不好用,报 Guice 的依赖错误,懒得找具体原 ...
- 每日学习心得:SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)
2013-8-20 1. SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析) 在实际的项目开发中有很多项目都会有报表模块,今天就通过一个小的SQL ...
- 用SQL实现统计报表中的"小计"与"合计"的方法详解
本篇文章是对使用SQL实现统计报表中的"小计"与"合计"的方法进行了详细的分析介绍,需要的朋友参考下 客户提出需求,针对某一列分组加上小计,合计汇总.网上找 ...
- SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析)
SQL查询表的行列转换/小计/统计(with rollup,with cube,pivot解析) 2013-8-20 1. SQL查询表的行列转换/小计/统计(with rollup,with ...
随机推荐
- [Codeforces-div.1 494B]Obsessive String
[CF-div.1 B]Obsessive String 题目大意 两个字符串\(S,T\),求划分方案数使得一个集合中两两划分不相交且划分都包含字符串\(T\) 试题分析 kmp先求出那个位置匹配. ...
- 【Miller-Rabin算法】
存个板子,应该是对的吧……没太试 http://www.cnblogs.com/Norlan/p/5350243.html Matrix67写的 根据wiki,取前9个素数当base的时候,long ...
- 【Huffman树贪心+优先队列】POJ3253-Fence Repair
思路详见之前的贪心专题,用优先队列来代替之前的插入排序,效率为O(nlogn) #include<iostream> #include<cstdio> #include< ...
- (疯狂java)第三课
最近很忙,都没有看书,罪过... 第五章(面向对象上) 1.类是一种对数据结构的封装,也就是说,一个类在在理解上事存在实际的含义的,比如一个人类,人类也是个类,表明这个类不是家禽类,是有人的特点的生物 ...
- Android——多线程之Handler
Why? 因为在Android系统中UI操作并不是线程安全的,如果多个线程并发的去操作同一个组件,可能导致线程安全问题.为了解决这一个问题, android制定了一条规则:只允许UI线程来修改UI组件 ...
- redis节点管理-新增主节点
原文:http://blog.sina.com.cn/s/blog_53b45c4d0102wg11.html 集群节点添加 节点新增包括新增主节点.从节点两种情况.以下分别做一下测试: 1.新增主节 ...
- 【Morn UI系列教程】Morn简介及使用教程
网页游戏开发的一大部分工作是在和UI制作上,一个好的工具及框架能使开发事半功倍,Adobe自带flash IDE和Flex各有不足. Morn UI学习了Flash IDE使用的方便性(比如图层功能, ...
- [转]Oracle connection strings
本文转自:http://www.connectionstrings.com/oracle/ Standard Data Source=MyOracleDB;Integrated Security=ye ...
- SQL Server 获取某时间点后修改的函数Function 并以文本格式显示
修改查询分析器如下选项 右键=>查询选项 =>结果=>文本=> 取消 在结果集中包括列标题 的勾选 右键=>将结果保存到=> 选择 以文本格式显示结果 执行如下SQ ...
- (转)Vue2.0 推荐环境
Vue2.0 新手完全填坑攻略——从环境搭建到发布 http://www.jianshu.com/p/5ba253651c3b Jinkey原创感谢 showonne.yubang 技术指导Demo ...