110,535
社区成员
发帖
与我相关
我的任务
分享
public static System.Data.DataTable ColumnsAdd(Query_Cost_FeeInfo cfi)
{
System.Data.DataTable dt = Cost_FeeInfoManager.GetBillNumberInfo(cfi);
if (dt != null)
{
DataColumn dtColumnTotal = new DataColumn("合计", typeof(decimal));
dt.Columns.Add(dtColumnTotal);
for (int i = 0; i < dt.Rows.Count; i++)
{
decimal money = 0;
//从第九列开始合计,因为前几列都是 字符类型 不需要合计,我这个是 行转列,并且把要合计的列 固定在第九列了
for (int j = 9; j < dt.Columns.Count; j++)
{
if (dt.Columns[j].ColumnName != "合计")
{
if (dt.Rows[i][j] != DBNull.Value)
money += Convert.ToDecimal(dt.Rows[i][j]);
dt.Rows[i]["合计"] = money;
}
}
}
DataRow drNew = dt.NewRow();
dt.Rows.Add(drNew);
for (int i = 9; i < dt.Columns.Count; i++)
{
if (dt.Columns[i].ColumnName == "合计")
{
decimal money = 0;
for (int row = 0; row < dt.Rows.Count; row++)
{
if (dt.Rows[row][i] != DBNull.Value)
{
money += Convert.ToDecimal(dt.Rows[row][i]);
}
}
dt.Rows[dt.Rows.Count - 1][i] = money;
}
dt.Rows[dt.Rows.Count - 1]["经营单位"] = "总计";
}
}
return dt;
}