如何更改类型不匹配的数据行中的值?

How to change value in data row with type mismatch?

我有一个要导出为 pdf 的数据表,并且有一些数值,例如我想更改为字符串的状态 ID:

dataRow["statusId"] = 1; //dataRow["statusId"] type is int

我希望它是:

dataRow["statusId"] = "Open file";

如何在不处理整个数据的情况下做到这一点table?

你其实做不到。最好的方法是实际克隆数据表,然后复制每一行:

DataTable dtCloned = dt.Clone();
dtCloned.Columns[0].DataType = typeof(Int32); //in the column you actually need.
foreach (DataRow row in dt.Rows) 
{
    dtCloned.ImportRow(row);
}

来源:How To Change DataType of a DataColumn in a DataTable?