繁体   English   中英

c#循环数据表,改变数据

[英]c# looping through datatable, changing data

我需要循环遍历我的数据表的一列,并对它进行一些字符串操作。 有人可以给我一个例子,说明我如何遍历表并更新一些数据?

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。

如果要更改指定的列,可以使用上面的代码,但是如果要更改数据表中每个单元格的内容,那么我们需要创建另一个数据表并使用“导入行”将其绑定如下,如果我们不创建另一个表,它将抛出一个异常,说“集合被修改”。

请考虑以下代码。

    //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); 
                }

这将包含Paranthesis({)之前的所有单元格

除了使用for循环之外,同样的事情。 这真的是一个偏好问题。 请尝试以下代码..

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM