在GRIDVIEW如何实现把一列的数据合计..祥细点。。在那个部位加这段代码

解决方案 »

  1.   

    private const int PRICE_START_COLUMN = 5;   // 金额列
    private decimal m_W1_Total = 0;  // 用于计算合计的变量
    private decimal m_W2_Total = 0;  // 用于计算合计的变量
    private decimal m_W3_Total = 0;  // 用于计算合计的变量
    private decimal m_W4_Total = 0;
    private decimal m_T_Total = 0;  // 用于计算合计的变量 private decimal m_W1_Tax_Total = 0;  // 用于计算合计的变量
    private decimal m_W2_Tax_Total = 0;  // 用于计算合计的变量
    private decimal m_W3_Tax_Total = 0;  // 用于计算合计的变量
    private decimal m_W4_Tax_Total = 0; // 用于计算合计的变量
    private decimal m_T_Tax_Total = 0;  // 用于计算合计的变量
    private void grdDetail_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
    {

    // 添加高亮显示函数
    e.Item.Attributes.Add("onMouseOver", "this.className='DataGridItemHover';");
    e.Item.Attributes.Add("onMouseOut", "this.className='DataGridItem';");
    e.Item.Cells[e.Item.Cells.Count-1].Text="<a onclick=\"openwin('edit',"+e.Item.Cells[0].Text+")\" title=\"修改计划明细\">修改</a>&nbsp;<a onclick=\"del("+e.Item.Cells[0].Text+")\"  title=\"删除当前记录\">删除</a>";
    // 计算合计
    m_W1_Total += decimal.Parse(e.Item.Cells[PRICE_START_COLUMN].Text);
    m_W1_Tax_Total+=decimal.Parse(e.Item.Cells[PRICE_START_COLUMN+1].Text);

    m_W2_Total += decimal.Parse(e.Item.Cells[PRICE_START_COLUMN+2].Text);
    m_W2_Tax_Total+=decimal.Parse(e.Item.Cells[PRICE_START_COLUMN+3].Text);

    m_W3_Total += decimal.Parse(e.Item.Cells[PRICE_START_COLUMN+4].Text);
    m_W3_Tax_Total+=decimal.Parse(e.Item.Cells[PRICE_START_COLUMN+5].Text);

    m_W4_Total += decimal.Parse(e.Item.Cells[PRICE_START_COLUMN+6].Text);
    m_W4_Tax_Total+=decimal.Parse(e.Item.Cells[PRICE_START_COLUMN+7].Text);

    m_T_Total += decimal.Parse(e.Item.Cells[PRICE_START_COLUMN+8].Text);
    m_T_Tax_Total+=decimal.Parse(e.Item.Cells[PRICE_START_COLUMN+9].Text);
    }
    else if (e.Item.ItemType == ListItemType.Footer)
    {
    e.Item.Cells[0].Text = "合计";
    e.Item.Cells[PRICE_START_COLUMN].Text=m_W1_Total.ToString("0.00");
    e.Item.Cells[PRICE_START_COLUMN+1].Text=m_W1_Tax_Total.ToString("0.00"); e.Item.Cells[PRICE_START_COLUMN+2].Text=m_W2_Total.ToString("0.00");
    e.Item.Cells[PRICE_START_COLUMN+3].Text=m_W2_Tax_Total.ToString("0.00"); e.Item.Cells[PRICE_START_COLUMN+4].Text=m_W3_Total.ToString("0.00");
    e.Item.Cells[PRICE_START_COLUMN+5].Text=m_W3_Tax_Total.ToString("0.00"); e.Item.Cells[PRICE_START_COLUMN+6].Text=m_W4_Total.ToString("0.00");
    e.Item.Cells[PRICE_START_COLUMN+7].Text=m_W4_Tax_Total.ToString("0.00"); e.Item.Cells[PRICE_START_COLUMN+8].Text=m_T_Total.ToString("0.00");
    e.Item.Cells[PRICE_START_COLUMN+9].Text=m_T_Tax_Total.ToString("0.00");
    }
    this.txtPrice.Text=m_T_Total.ToString("0.00");
    this.txtTaxPrice.Text=m_T_Tax_Total.ToString("0.00");
    }
      

  2.   

    GridView Examples for ASP.NET 2.0: Displaying Summary Data in the Footer
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/GridViewEx09.asp
      

  3.   

    上面的代码(codeangel(-- 与人方便,自已方便 --) 的)给的是DataGrid的,你直接放到cs文件里当然不行。你看看saucer(思归) 给出的地址的文章。理解了才会用,并不是简单的复制粘贴。==== 
    ~~~~ 我的Blog:http://blog.csdn.net/quou2002