使用過,記録下來,方便下次使用.
`//針對合併的DT增加一列序號 private DataTable AddSeriNumToDataTable(DataTable dt) { //需要返回的值 DataTable dtNew; if (dt.Columns.IndexOf("INDEX") >= 0)//判断是否存在index序号列 { dtNew = dt; } else //添加一序号列,并且在第一列 { int rowLength = dt.Rows.Count;//行数 int colLength = dt.Columns.Count;//列数 DataRow[] newRows = new DataRow[rowLength];//创建行集合 dtNew = new DataTable(); //在第一列添加“序号”列 dtNew.Columns.Add("INDEX");//添加序号列 for (int i = 0; i < colLength; i++)//循环列 { dtNew.Columns.Add(dt.Columns[i].ColumnName);//为新表格添加列 //复制dt中的数据 for (int j = 0; j < rowLength; j++)//循环行 { if (newRows[j] == null) newRows[j] = dtNew.NewRow(); //将其他数据填充到第二列之后,因为第一列为新增的序号列 newRows[j][i + 1] = dt.Rows[j][i]; } } foreach (DataRow row in newRows) { dtNew.Rows.Add(row); } } //对序号列填充,从1递增 for (int i = 0; i < dt.Rows.Count; i++) { dtNew.Rows[i]["INDEX"] = i + 1; } return dtNew; }`