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

时间:2015-01-21 14:56:03

标签: c# datarow

我有一个DataTable,我正在导出为pdf,并且有一个数字值,如状态ID,我想更改为字符串,例如:

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

我希望它是:

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

如何在不处理整个数据表的情况下完成这项工作?

1 个答案:

答案 0 :(得分:0)

你实际上无法做到。最好的方法是实际克隆dataTable,然后复制每一行:

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?