C# 修改DataTable 列的 DataType

/// <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)

  {

    if (col.ColumnName == "Status")

    {

      col.DataType = typeof(String);

    }

    if (col.ColumnName == "HasBumiputera")

    {

      col.DataType = typeof(String);

    }

  }

  foreach (DataRow row in argDataTable.Rows)

  {

    DataRow rowNew = dtResult.NewRow();

    rowNew["A"] = row["A"];

    rowNew["B"] = row["B"];

    rowNew["C"] = row["C"];

    rowNew["D"] = row["D"];

    rowNew["E"] = row["E"];

    rowNew["F"] = row["F"];

  }

  return dtResult;

}

原文地址:https://www.cnblogs.com/ZHANGKAIXUAN/p/8398820.html