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();
if (dt.Columns[i].ColumnName == "QSRQ")//格式化入住时间
{
newRows[j][i + 1] = Convert.ToDateTime(dt.Rows[j][i]).ToString("yyyy-MM-dd");//格式化入住时间
}
//将其他数据填充到第二列之后,因为第一列为新增的序号列
else
{
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;
}