页面中使用gridview绑定数据后显示如下:编号     收费名称     应交费用
1         学费        800
2         考试费      150
3         杂费        200现在想在“应交费用”这一列的末尾增加显示费用的汇总,结果如下:编号     收费名称     应交费用
1         学费        800
2         考试费      150
3         杂费        200
                 总计:1150问题1:该怎么求得总计?
问题2:如何显示总计的数据?各位高手,不吝赐教,不甚感激。

解决方案 »

  1.   

    如果你gridview帮定的是DataTabel的话,你可以在缓存中在DataTabel中加以上一行汇总数。至于汇总数怎么来就看你了,for DataTable可以,Select SUM()数据库也行。
      

  2.   

          decimal wastageqty =0;
      protected void GVdetail_RowDataBound(object sender, GridViewRowEventArgs e)
            {            if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    wastageqty += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "wastage_qty"));
                }
                else if (e.Row.RowType == DataControlRowType.Footer)
                {                // e.Row.Cells[5].Text = "单耗合计:";                     //在Footer里对单耗列汇总
                    e.Row.Cells[6].Text = wastageqty.ToString();
                    wastageqty = 0;            }
            }
      

  3.   

    在bound event 中add new row ,然后计算单元格的总和
      

  4.   

    DataTable.Computer("sum(应交费用)","");
      

  5.   

    用datatable做数据源
    DataTable dt=....;
    this.GridView1.DataSource=dt;
    this.GirdView1.DataBind();string sum=dt.compute("sum(columnname)","").ToString();前面显示这个sum
      

  6.   

    <FooterItemTemplete>
      <asp:Label id="SumTotal Text=<%=Sum(dt)/>
    </FooterItemTemplete>在后台写一个Sum()方法在数据源的DataTable中用循环累加应交费用一列的值。如果用Linq做起类统计会比较简单。
    假设绑定GridView的DataTable为dt:
    private int Sum(dt)
    {
      return dt.AsEnumerable().Sum(pkg => pkg.应交费用);
    }
       
      

  7.   

    在命名控件中要引入System.Linq;
      

  8.   

    decimal wastageqty =0; 
      protected void GVdetail_RowDataBound(object sender, GridViewRowEventArgs e) 
            {             if (e.Row.RowType == DataControlRowType.DataRow) 
                { 
                    wastageqty += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "wastage_qty")); 
                } 
                else if (e.Row.RowType == DataControlRowType.Footer) 
                {                 // e.Row.Cells[5].Text = "单耗合计:";                    //在Footer里对单耗列汇总 
                    e.Row.Cells[6].Text = wastageqty.ToString(); 
                    wastageqty = 0;             } 
            }
      

  9.   

    请问,想在前台的gridview最后一列显示,该怎么做呢?菜鸟一枚,请多指教!感谢了!