C# 如何用上面单元格的值替换DataTable列中的空白单元格 在DATAIT中的特定列中,可以用它上面的单元格的值替换空白单元格吗?

C# 如何用上面单元格的值替换DataTable列中的空白单元格 在DATAIT中的特定列中,可以用它上面的单元格的值替换空白单元格吗?,c#,datatable,C#,Datatable,例如,我有以下数据表: -------------------- ProductCode | Color -------------------- 00A0B | Red | Blue 00A0C | Red | Black | White -------------------- 它应该如下表所示: -------------------- ProductCode | Color ---

例如,我有以下数据表:

--------------------
ProductCode | Color
--------------------
   00A0B    |  Red
            |  Blue
   00A0C    |  Red
            |  Black
            |  White
--------------------
它应该如下表所示:

--------------------
ProductCode | Color
--------------------
   00A0B    |  Red
   00A0B    |  Blue
   00A0C    |  Red
   00A0C    |  Black
   00A0C    |  White
--------------------

那我该怎么做呢?我需要有非常有效的方法,因为数据量可能很大

此代码满足您的要求,但是对于第一个空项目,当然,当您还没有找到包含产品代码的行时,它将设置空字符串:

string code = "", nonEmpty = "";
foreach(var row in datatable.Rows)
{
    code = row["ProductCode"].ToString();
    if(!string.IsNullOrEmpty(code))
         nonEmpty = code;
    else
        row["ProductCode"] = nonEmpty;  
}
但是,您可以为nonEmpty设置一个默认值,这样,如果有行的开头有空ProductCode,就可以将它们设置为默认值。那么第一行代码应该是:

string code = "", nonEmpty = "DefaultPC";

如果第一行是空的呢?