C#循环遍历数据表,修改数据

7
我需要循环遍历我的数据表格中的一列并对其进行一些字符串操作。请问是否可以给我一个例子,演示如何循环遍历表格并更新一些数据?
4个回答

24
foreach (DataRow row in MyDataTable.Rows)
{
 row["columnNameHere" Or index] = value;
}

10
foreach (DataRow row in myDataTable.Rows)
{
    //do what you need to calculate myNewValue here
    row["myColumn"] = myNewValue;
}

已更新以添加 .Rows.


1

使用for循环完成相同的事情。这只是个人偏好问题。尝试以下代码...

for (int i = 0; i <= myDataTable.Rows.Count - 1; i++){
                    myDataTable.Rows[i]["ColumnName" Or IndexNumber] = value;
}

可以这样做,但我想象不出你为什么会使用它,因为这只是很多额外代码。 - GendoIkari

1
如果您想更改指定列,可以使用上面的代码,但是如果您想更改数据表中每个单元格的内容,则需要创建另一个数据表并使用“Import Row”绑定它。如果我们不创建另一个表,它将抛出异常,说“集合已修改”。
请考虑以下代码。
    //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); 
                }

这将使所有以括号({)开头的单元格生效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接