DataTable中若存在数据, 不能直接更改列类型
可以使用下面的方法
/// <summary>
///当DataTable中有值时,是不允许修改列的DataType
/// 修改数据表DataTable某一列的数据类型和记录值
/// </summary>
/// <param name="argDataTable">数据表DataTable</param>
/// <returns>数据表DataTable</returns>
private DataTable UpdateDataTable(DataTable argDataTable)
{
DataTable dtResult = new DataTable();
//克隆表结构
dtResult = argDataTable.Clone();
//修改数据列类型
foreach (DataColumn col in dtResult.Columns)
{
col.DataType = typeof(int);
}
foreach (DataRow row in argDataTable.Rows)
{
DataRow rowNew = dtResult.NewRow();
rowNew["DoctorName"] = row["DoctorName"];
dtResult.Rows.Add(rowNew);
}
return dtResult;
}