do it inside ItemDataBound event handler or after DataBind(), iterate through DataGrid's Items collection
 <asp:DataGrid id="MyDataGrid" runat="server"     
           OnItemDataBound="ItemDataBounded" ...
      </asp:DataGrid>
double sum = 0.0;public void ItemDataBounded(Object sender, DataGridItemEventArgs e)
{
 ListItemType itemType = e.Item.ItemType;
 if (itemType == ListItemType.Item || itemType == ListItemType.AlternatingItem)
   sum += (double)DataBinder.Eval(e.Item.DataItem,"ColumnName");
}

解决方案 »

  1.   

    private int Sum_ColumnData()
    {
    int sum=0;
    foreach(DataGridItem item in dgrd1.Items)
    {
    sum+=int.Parse(item.Cells[2].Text.Trim());
    //你的数据列在datagrid中的位置,假设为第三列
    }
    return sum;
    }
      

  2.   

    我想你在榜定数据的时候DataGrid1.DataSource的属性你应该设定的是一个DataTable或者DataView或者DataSet(也是其中的Table[0])。有了这个表你就可以用循环的行的方法来算某一列的和。
    DataSet ds = new DataSet();
    //假设DataSet中已经有DataTable
    DataRow newRow = ds.Table[0].NewRow;
    foreach(DataRow dr in ds.Table[0].Rows){
      newRow["要累计的列名"] + = Convert.ToInt32(dr["要累计的列名"]);
    }
    ds.Table[0].Rows.Add(newRow);
      

  3.   

    忘了说了,最后你可以将这个新的数据源榜定到DataSource上!