如何更改类型不匹配的数据行中的值?
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?
我有一个要导出为 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?