DataTable _DataTable = new DataTable();
_SqlDataAdapter.Fill(_DataTable);如_DataTable这时的结果是这样
1  4.5  6
2  2.1  3
我想把上面_DataTable的数据汇总后添加一行.
结果为
1  4.5  6
2  2.1  3
3  6.6  9
_DataTable的列是不固定的有什么方法,如果DataTable 不行用DATASET也可以

解决方案 »

  1.   

    可以用 DataTable.Compute("SUM(列名)") 这样挨个列计算出合计,再 Rows.Add 进去。
      

  2.   

    _SqlDataAdapter.Fill(_DataTable);for (int i = 4; i < _DataTable.Columns.Count; i++)
    {
    _DataTable.Compute("SUM("+_DataTable.Columns[i].ColumnName+")","");
    }
    //我这样写不知道对不对,如果这样写的话,怎么添加进去呢?
      

  3.   

    先创建一个 DataRow, 赋值,加入DataTable.Rowsvar totalRow = _DataTable.NewRow();for (int i = 4; i < _DataTable.Columns.Count; i++)
    {
       // 赋值
       totalRow[i] = _DataTable.Compute("SUM("+_DataTable.Columns[i].ColumnName+")","");
    }_DataTable.Rows.Add(totalRow);
      

  4.   


     totalRow[i] = _DataTable.Compute("SUM("+_DataTable.Columns[i].ColumnName+")","");
    /*这个方法汇总报错
    提示
    Syntax error in aggregate argument;expectiong a single column argument with possible 'child' qualifier"
    "
    */
      

  5.   

    在 sqlserver 查询中直接 直接 sum 然后 union 那一行 sum 的就行了。
      

  6.   

    列名是不是有非法字符啊? 比如有空格?"SUM(["+_DataTable.Columns[i].ColumnName+"])"
      

  7.   

    那是表现层的事。DataTable里合并不了。
      

  8.   

    我的表现层用的是datagridview,有办法吗?
      

  9.   

    http://www.codeproject.com/KB/grid/SpanDataGridViewCell.aspx?display=PrintAll
      

  10.   


    我也找到了这个.在研究.想在最后一行因为我是添加在最后一行合计的.
    所以我想把最后一行的0-3行合并,我用ROW的个数-1对不对?