现在我这里拼出一个DataTable,列名是从数据库取出来的变量(列名不知道),要求每一列的和如何做? 
我用DataTable.Compute好像不行

解决方案 »

  1.   

    for(int i = 0; i < datatable1.Rows.Count; i ++)
    {
        sumCol1 += convert.ToInt32(datatable1.Rows[i][0]); //第一列
        sumCol2 += convert.ToInt32(datatable1.Rows[i][1]); //第二列
        sumCol3 += convert.ToInt32(datatable1.Rows[i][1]); 
        ……
    }
    如果其中某个数据有误,可能会引发异常,注意加判断.
      

  2.   

    int sum=0;
    string couName="test";
    foreach(Datarow row in datatable1.Rows)
    {
      sum+=convert.ToInt32(row[couName];
    }
      

  3.   

    NameDoubleCollection colSum = new NameDoubleCollection();
    foreach (DataColumn col in Td.Dt.Columns) {
    foreach (DataRow row in Td.Dt.Rows) {
    colSum[col.ColumnName] += (double)row[col.ColumnName];
    }
    }这样把每一列的和都保存在一个集合里了,访问这个集合就可以的
      

  4.   

    上面只是个参考,Td.Dt就是你的DataTable了,比如datatable1
      

  5.   

    思路就是外循环每一列:j=0;j<datatable1.colums.count;j++
    内循环行:i=0;i<datatable1.rows.count;i++
    求和:sum += convert.ToInt32(datatable1.Rows[i][j]);
      

  6.   


    int[] sumCol;
    for(int j = 0; j < datatable1.Columns.Count;j++)
    {
        for(int i = 0; i < datatable1.Rows.Count; i ++)
        {
            sumCol[j] += convert.ToInt32(datatable1.Rows[i][j]); 
        }
    }