替换DataColumn中的值
如何在循环行时替换列值?
How to replace column value when looping rows?
我的DataTable有两列,我想替换每一行上第一列的值. 我无法获取或设置列值.到目前为止,我只负责访问DefaultValue和ColumnName等.
My DataTable has two columns, I want to replace the value of the first column on every row. I'm unable to get or set column value. So far I only manege to access DefaultValue and ColumnName etc.
即使创建新的DataColumn(),我也无法设置其值.
Even if creating new DataColumn(), I'm not able to set its value.
感觉就像我在这里错过了一些基本的东西...
Feels like I'm missing some fundamental stuff here...
foreach (var row in dataTable.Rows)
{
foreach (DataColumn column in dataTable.Columns)
{
// column Unable to get or set value
}
}
运行.NET Framework 3.5,我应该使用linq吗?
Running .NET Framework 3.5, should I use linq?
由于DataTable.Rows
仅实现IEnumerable
而不是IEnumerable<T>
,因此您需要将其强制转换为foreach
中的DataRow
,并且不能使用var :
Since DataTable.Rows
implements only IEnumerable
and not IEnumerable<T>
you need to cast it to DataRow
in the foreach
and you cannot use var:
foreach (DataRow row in dataTable.Rows)
{
foreach (DataColumn column in dataTable.Columns)
{
row.SetField(column, newValue);
}
}