【发布时间】:2011-05-05 17:31:27
【问题描述】:
我需要遍历我的数据表的一列并对它进行一些字符串操作。谁能给我一个示例,说明我将如何遍历表并更新一些数据?
【问题讨论】:
标签: c# .net data-binding datatable
我需要遍历我的数据表的一列并对它进行一些字符串操作。谁能给我一个示例,说明我将如何遍历表并更新一些数据?
【问题讨论】:
标签: c# .net data-binding datatable
foreach (DataRow row in MyDataTable.Rows)
{
row["columnNameHere" Or index] = value;
}
【讨论】:
foreach (DataRow row in myDataTable.Rows)
{
//do what you need to calculate myNewValue here
row["myColumn"] = myNewValue;
}
已更新以添加 .Rows。
【讨论】:
如果你想改变一个指定的列,你可以使用上面的代码,但是如果你想改变数据表中每个单元格的内容,那么我们需要创建另一个数据表并使用“导入行”将其绑定如下",如果我们不创建另一个表,它会抛出一个异常,说“Collection was Modified”。
考虑下面的代码。
//New Datatable created which will have updated cells
DataTable dtUpdated=new DataTable();
//This gives similar schema to the new datatable
dtUpdated = dtReports.Clone();
foreach (DataRow row in dtReports.Rows)
{
for (int i = 0; i < dtReports.Columns.Count; i++)
{
string oldVal = row[i].ToString();
string newVal = "{"+oldVal;
row[i] = newVal;
}
dtUpdated.ImportRow(row);
}
这将有所有以括号({)开头的单元格
【讨论】:
除了使用 for 循环外,同样的事情。这真的是一个偏好问题。试试下面的代码..
for (int i = 0; i <= myDataTable.Rows.Count - 1; i++){
myDataTable.Rows[i]["ColumnName" Or IndexNumber] = value;
}
【讨论】: