首先,在页面添加事件<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中数据的汇总方法的更多相关文章

  1. GridView中数据行的操作

    一个是直接动态绑定gridview 用3楼的办法就可以了 int j=1;//j的数值表示你要取的那一列的索引,要取第二列,j就设为1for (int i = 0; i < this.GridV ...

  2. Repeater 和 GridView 中数据格式化

    GridView中显示两位小数: <asp:BoundField DataField="investmoney" DataFormatString="{0:f2}& ...

  3. 【转】GridView中页脚汇总显示

    来源:http://blog.csdn.net/atian15/article/details/3495514 有时候需要在GridView的页脚中汇总显示一些信息,常见的方法有两种: 1.在SQL中 ...

  4. MongoDB 中数据的替换方法实现 --类Replace()函数功能

    关键字: MongoDB,Replace,forEach 近日接到一个开发需求,因业务调整,需要DBA协助,将MongoDB数据库中某集合的进行替换.例如我们需要将集合A中B字段中,有关<美好& ...

  5. PyQt学习随笔:Model/View设计中支持视图中数据修改的方法及步骤

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 要支持视图中的数据可以修改,需要两个步骤: 1. 在视图中设置editTriggers属性支持在视图 ...

  6. JS中数据类型转换

    JS中数据类型转换汇总 JS中的数据类型分为 [基本数据类型] 数字 number 字符串 string 布尔 boolean 空 null 未定义 undefined [引用数据类型] 对象 obj ...

  7. 通过删除hbase表中的region来达到删除表中数据

    公司最近在搞一个hbase删除数据,由于在建表的时候是通过region来对每日的数据进行存储的,所以要求在删除的时候直接通过删除region的来删除数据(最好的方案是只删除region中的数据,不把r ...

  8. .net中从GridView中导出数据到excel(详细)

    1,创建数据源 找到要导出的GridView中的数据. 2,重写VerifyRenderingInServerForm方法. public override void VerifyRenderingI ...

  9. 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子

    备注:这是我辅导的一个项目开发组的一个例子,用文章的方式分享出来,给更多的朋友参考.其实我们这几年的项目中,都不怎么使用服务器控件的形式了,而是更多的采用MVC这种开发模式.但是,如果项目的历史背景是 ...

随机推荐

  1. BZOJ 3262 陌上花开 ——CDQ分治

    [题目分析] 多维问题,我们可以按照其中一维排序,然后把这一维抽象的改为时间. 然后剩下两维,就像简单题那样,排序一维,树状数组一维,按照时间分治即可. 挺有套路的一种算法. 时间的抽象很巧妙. 同种 ...

  2. Unity5中WebGL平台封装的一些技巧

    最近在接触unity的WebGL平台,其实这个平台作为Web Player的替代品,已经能满足大部分的开发需求,而且不需要额外的插件支持,确实方便了不少,但开发中依旧遇到了不少问题,在这里记录和共享一 ...

  3. BZOJ1527 : [POI2005]Pun-point

    求出重心,然后把所有点关于重心极角排序,极角相同的按到重心距离从大到小排序. 按极角序依次扫描,得到相邻两个向量的夹角以及长度之比,看成字符串. 若两个字符串循环同构,则两个点集相似,KMP判断即可. ...

  4. 面向对象课后深入学习(C++ 类的静态成员详细讲解)

    今天在刚申请了博客,一下午都在写那个随笔,所以说好的来看c++的也放在了最后,下星期就考试了,这个类的静态成员是我不是很懂的,在网上 看到一片很详细的博客考下来回去慢慢看. 在C++中,静态成员是属于 ...

  5. Android 社交类APP 豆瓣同城Lite(安全,无广告)

    随着科技的发展,人们的生活越来越变的单调,有时间也不知道如何打发.使用豆瓣同城手机客户端能帮助你发现身边正在进行的各种有趣的活动,你可以凭自己的兴趣来报名喜欢的活动,结实新的朋友,让自己的业余生活变得 ...

  6. WeX5学习笔记

    目录 WeX5学习笔记... 1 1.轻松看透WeX5产品能力和技术... 1 2.WeX5可以怎么玩?... 3 一.纯本地App. 3 二.关联一个网站,希望默认就打开某页... 4 三.UI设计 ...

  7. MySQL慢查询日志总结

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志 ...

  8. 《一个操作系统的实现》学习笔记(一) bochs源码安装及配置

    前言:本机环境ubuntu 14.04 bochs 2.4.5 一.下载 官网 http://bochs.sourceforge.net/ 二.安装 1.将下载好的压缩包解压并进入该目录 .tar.g ...

  9. 前端开发神器sublime Text

    实用的sublime插件集合 – sublime必备插件 前言 入前端领域开始,就学着使用sublime,一直用起来很顺手,速度是我最欣赏的,快的没有编辑器可以匹敌.还是废话不多扯,入正题.好多有多少 ...

  10. 偶遇STM32 JTAG和SWD口(调试)被禁用无法下载,已经粗暴解决!

    处女座,为了板子走线美观,拉线方便,在项目量产前,还更改了原来外设的IO口,埋头苦干一天,移植ok,发现PB3一直不听使唤,好,加班检查代码,检查初始化,时钟,IO对应,然后试PCB板,是否短路,断路 ...