首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

gridview 求和,该怎么处理

2012-02-13 
gridview 求和NAM_FACT COD_DOLA UNPAIDACNY100BCNY200CUSD300DUSD400ECNY500CNY800USD700大家好,有问题请

gridview 求和
NAM_FACT COD_DOLA UNPAID
A CNY 100
B CNY 200
C USD 300
D USD 400
E CNY 500
CNY 800
USD 700

大家好,有问题请大家帮忙了,上面这个示例蓝色部分是已查询后在gridview中实现的,现在我想要加上下面两行求和的部分(注意哦是分组求和的),我想通过sql的方法来实现,不知道怎么做,请大家帮忙了,最好也能给我一个代码的例子,谢谢了!

[解决办法]
GridView的Group显示,看这里
http://blog.csdn.net/downmoon/archive/2008/09/14/2832007.aspx
http://www.cnblogs.com/downmoon/archive/2008/08/26/1276538.html
[解决办法]
楼主意思是在原来的记录基础上增加 分组求和的记录吧!
[解决办法]
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex >= 0)
{
sum += Convert.ToDouble(e.Row.Cells[2].Text);
}
else if (e.Row.RowType == DataControlRowType.Footer)
{

}
}
或循环gridview,判断值,统计
[解决办法]

探讨
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex >= 0)
{
sum += Convert.ToDouble(e.Row.Cells[2].Text);
}
else if (e.Row.RowType == DataControlRowType.Footer)
{

}
}
或循环gridview,判断值,统计

[解决办法]
给你个代码看看:
C# code
 
protected void gvService_RowDataBound(object sender, GridViewRowEventArgs e)
  {
    if (gvService.EditIndex == -1)
    {
      if (e.Row.RowType == DataControlRowType.DataRow)
      {
        string accountname = ((Label)e.Row.Cells[7].FindControl("Label5")).Text;
        double money = System.Convert.ToDouble(((Label)e.Row.Cells[5].FindControl("Label3")).Text);
        double yjsum = 0.00;
        double sjsum = 0.00;
        double zssum = 0.00;
        if (e.Row.RowIndex == 0)
        {
          if (accountname == "应收款项")
          {
            ViewState.Add("YjSumMoney", money);
            ViewState.Add("SjSumMoney", 0.00);
            ViewState.Add("ZsSumMoney", 0.00);
          }
          else if (accountname == "实收款项")
          {
            ViewState.Add("YjSumMoney", 0.00);
            ViewState.Add("SjSumMoney", money);
            ViewState.Add("ZsSumMoney", 0.00);
          }
          else
          {
            ViewState.Add("YjSumMoney", 0.00);
            ViewState.Add("SjSumMoney", 0.00);
            ViewState.Add("ZsSumMoney", money);
          }
        }
        else
        {
          yjsum = System.Convert.ToDouble(ViewState["YjSumMoney"]);


          sjsum = System.Convert.ToDouble(ViewState["SjSumMoney"]);
          zssum = System.Convert.ToDouble(ViewState["ZsSumMoney"]);
        }
        if (accountname == "应收款项")
        {
          yjsum += money;
        }
        else if (accountname == "实收款项")
        {
          sjsum += money;
        }
        else
        {
          zssum += money;
        }
        ViewState["YjSumMoney"] = yjsum;
        ViewState["SjSumMoney"] = sjsum;
        ViewState["ZsSumMoney"] = zssum;
      }
      if (e.Row.RowType == DataControlRowType.Footer)
      {
        ((Label)e.Row.Cells[5].FindControl("Label4")).Text = System.Convert.ToDouble(ViewState["YjSumMoney"]).ToString("0.00");
        ((Label)e.Row.Cells[5].FindControl("Label6")).Text = System.Convert.ToDouble(ViewState["SjSumMoney"]).ToString("0.00");
        ((Label)e.Row.Cells[5].FindControl("Label8")).Text = System.Convert.ToDouble(ViewState["ZsSumMoney"]).ToString("0.00");
        tbYJMoney.Text = ((Label)e.Row.Cells[5].FindControl("Label4")).Text;
        tbSJMoney.Text = ((Label)e.Row.Cells[5].FindControl("Label6")).Text;
        tbZSMoney.Text = ((Label)e.Row.Cells[5].FindControl("Label8")).Text;
        decimal yjmoney = System.Convert.ToDecimal(tbYJMoney.Text);
        decimal sjmoney = System.Convert.ToDecimal(tbSJMoney.Text);
        tbQKMoney.Text = System.Convert.ToString(yjmoney - sjmoney);
        if (yjmoney - sjmoney <= 0)
        {
          tbQKMoney.Text = "0.00";
          tbMoney.Text = System.Convert.ToString(System.Convert.ToDecimal(tbZSMoney.Text) + System.Convert.ToDecimal(tbSJMoney.Text) - System.Convert.ToDecimal(tbXFMoney.Text));
        }
        else
        {
          tbMoney.Text = System.Convert.ToString(System.Convert.ToDecimal(tbSJMoney.Text) - System.Convert.ToDecimal(tbXFMoney.Text));
        }
        MUpdate();
      }
    }
  }

热点排行