GridView中数据的汇总方法
首先,在页面添加事件<ASP:GridView OnRowDataBound="Gridview1_DataBound">
其次,后台具体方法:
public void Gridview1_DataBound(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (((Label)e.Row.FindControl("IF_VALID")).Text.ToString().Trim() == "作废")
{
e.Row.BackColor = System.Drawing.Color.LightGray;
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
string current01 = String.Format("{0:0.00}", DataBinder.Eval(e.Row.DataItem, "COST_NAME"));
switch (current01) { case "": total01 += 0; break; default: total01 += Convert.ToDouble(current01); break; }
}
if (e.Row.RowType == DataControlRowType.Footer)
{
e.Row.Cells[8].Text = "运输成本小计:";
e.Row.Cells[9].Text = string.Format("{0:#,##0.00}", total01);
Response.Write("<script language ='javascript'> window.parent.document.getElementById('yscb').value=" + total01 + ";</script> ");
Response.Write("<script language ='javascript'> window.parent.cal_ct_profit();</script> ");
}
string ywcb;
string yscb;
string kpfy;
double profit = 0;
ywcb = DataBinder.Eval(e.Row.DataItem, "COST_NAME").ToString();
yscb = DataBinder.Eval(e.Row.DataItem, "COST_YUNSHU").ToString();
kpfy = DataBinder.Eval(e.Row.DataItem, "Exhibit_amount").ToString();
switch (ywcb) { case "": profit -= 0; break; default: profit -= double.Parse(ywcb); break; }
switch (yscb) { case "": profit -= 0; break; default: profit -= double.Parse(yscb); break; }
switch (kpfy) { case "": profit += 0; break; default: profit += double.Parse(kpfy); break; }
e.Row.Cells[profit_column].Text = String.Format("{0:0.00}", profit);
if (profit < 0)
{
e.Row.Cells[profit_column].ForeColor = System.Drawing.Color.Red;
}
//string current01 = String.Format("{0:0}", DataBinder.Eval(e.Row.DataItem, "CARTON20_COUNT"));
//string current02 = String.Format("{0:0}", DataBinder.Eval(e.Row.DataItem, "CARTON40_COUNT"));
//string current03 = String.Format("{0:0}", DataBinder.Eval(e.Row.DataItem, "CARTON45_COUNT"));
string current04 = String.Format("{0:0.00}", DataBinder.Eval(e.Row.DataItem, "COST_NAME"));
string current05 = String.Format("{0:0.00}", DataBinder.Eval(e.Row.DataItem, "COST_YUNSHU"));
string current06 = String.Format("{0:0.00}", DataBinder.Eval(e.Row.DataItem, "Exhibit_amount"));
//switch (current01) { case "": total01 += 0; break; default: total01 += int.Parse(current01); break; }
//switch (current02) { case "": total02 += 0; break; default: total02 += int.Parse(current02); break; }
//switch (current03) { case "": total03 += 0; break; default: total03 += int.Parse(current03); break; }
switch (current04) { case "": total04 += 0; break; default: total04 += double.Parse(current04); break; }
switch (current05) { case "": total05 += 0; break; default: total05 += double.Parse(current05); break; }
switch (current06) { case "": total06 += 0; break; default: total06 += double.Parse(current06); break; }
//total07 += profit;
}
total00 = GridView1.Rows.Count;
ShowPageStatus(string.Format("{0:#,##0}", total00), total04, total05, total06);
}
private void ShowPageStatus(string nRecords, double ywcb, double yscb, double kpfy)
{
ShowTTL.Text = "总计<b><FONT color= #9C0001> " + nRecords + " </FONT></b>箱, 出车费<b><FONT color= #9C0001> " + ywcb + " </FONT></b>元, 运输费<b><FONT color= #9C0001> " + yscb + " </FONT></b>元, 亏盈金额<b><FONT color= #9C0001> " + kpfy + " </FONT></b>元";
}
private void ShowCTTTL(double T20, double T40, double T45)
{
ShowCount.Text = "20尺 <b><FONT color= #9C0001> " + T20 + " </FONT></b>, 40尺 <b><FONT color= #9C0001> " + T40 + " </FONT></b>, 45尺 <b><FONT color= #9C0001> " + T45 + " </FONT></b>。";
}
GridView中数据的汇总方法的更多相关文章
- GridView中数据行的操作
一个是直接动态绑定gridview 用3楼的办法就可以了 int j=1;//j的数值表示你要取的那一列的索引,要取第二列,j就设为1for (int i = 0; i < this.GridV ...
- Repeater 和 GridView 中数据格式化
GridView中显示两位小数: <asp:BoundField DataField="investmoney" DataFormatString="{0:f2}& ...
- 【转】GridView中页脚汇总显示
来源:http://blog.csdn.net/atian15/article/details/3495514 有时候需要在GridView的页脚中汇总显示一些信息,常见的方法有两种: 1.在SQL中 ...
- MongoDB 中数据的替换方法实现 --类Replace()函数功能
关键字: MongoDB,Replace,forEach 近日接到一个开发需求,因业务调整,需要DBA协助,将MongoDB数据库中某集合的进行替换.例如我们需要将集合A中B字段中,有关<美好& ...
- PyQt学习随笔:Model/View设计中支持视图中数据修改的方法及步骤
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 要支持视图中的数据可以修改,需要两个步骤: 1. 在视图中设置editTriggers属性支持在视图 ...
- JS中数据类型转换
JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 obj ...
- 通过删除hbase表中的region来达到删除表中数据
公司最近在搞一个hbase删除数据,由于在建表的时候是通过region来对每日的数据进行存储的,所以要求在删除的时候直接通过删除region的来删除数据(最好的方案是只删除region中的数据,不把r ...
- .net中从GridView中导出数据到excel(详细)
1,创建数据源 找到要导出的GridView中的数据. 2,重写VerifyRenderingInServerForm方法. public override void VerifyRenderingI ...
- 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子
备注:这是我辅导的一个项目开发组的一个例子,用文章的方式分享出来,给更多的朋友参考.其实我们这几年的项目中,都不怎么使用服务器控件的形式了,而是更多的采用MVC这种开发模式.但是,如果项目的历史背景是 ...
随机推荐
- Effective C++ 笔记2(构造,析构,赋值)
条款5:了解C++默默编写并且调用了哪些函数 1. 构造函数,析构函数,拷贝赋值函数,拷贝构造函数. class Empty { public: //默认构造函数 Empty(){}; //拷贝构造 ...
- eval解析JSON中的注意点
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery ...
- 在Javascript中onclick()方法应用
<html> < head> < script type="text/javascript"> function onclick1(){ ale ...
- iOS automaticallyAdjustsScrollViewInsets
self.automaticallyAdjustsScrollViewInsets = NO; //在当前VC内修改这个属性就可以解决这个问题了. 当前以TableView为主View的ViewCon ...
- JavaScript中严格模式"use strict";需注意的几个雷区:
1.with语句会抛错误 2.未声明的变量被赋值会报错 3.arguments在严格模式下变为静态,传入的参数与arguments无关系 4.delete会报错 5.对象的重复属性名会报错 6.禁止八 ...
- QuanbenSoft Windows Runtime (Windows Store)Apps 应用及其框架总览
Parrot Simple audio repeater for language learners http://www.windowsphone.com/en-au/store/app/parro ...
- 1_MVC+EF+Autofac(dbfirst)轻型项目框架_core层(以登陆为例)
前言 在上一篇0_MVC+EF+Autofac(dbfirst)轻型项目框架_基本框架中,我已经介绍了这个轻型框架的层次结构,在下面的这篇文章中,我将以教师登陆功能为例,具体来扩充下我的core层的代 ...
- EF DbContext 并发执行时可能出现的问题
现在许多Web项目都使用了IOC的DI注入组件.其中对象的生命周期管理是非常重要的. 有时我们为了提高请求的响应,经常在请求线程中执行多个子线程,然而忽略了EF的DbContext的生命周期管理. D ...
- 【BZOJ1857】[Scoi2010]传送带 三分法
三分套三分,挺神奇的...每次找到,每个传送带的上下两个三等分点,下面那个小,则一定有更优的在中间. #include <iostream> #include <cstdio> ...
- postman 断言解析
最近在学习postman官方文档, 顺势翻译出来,以供学习! postman断言是JavaScript语言编写的,在postman客户端指定区域编写即可. 断言会在请求返回之后,运行,并根据断言的pa ...