我已经建立3个数据表循环通过2个数据表和增加值,第三
var dt1= new DataTable();
var dt2= new DataTable();
var dt3= new DataTable();
然后我循环
foreach (DataRow row1 in dt1.Rows)
{
dt3.Rows.Add(row1.ItemArray);
foreach (DataRow row2 in dt2.Rows)
{
var Id2 = row1["Id"];
var Id1= row2["Id"];
if (Id1 == Id2)
{
dt3.rows["Name"] = "" ; // doesnt work
}
}
}
正如你可以看到2个数据表,我循环。然后在内部循环中检查记录是否匹配。现在,如果记录匹配,那么我想更新dt3数据表中的“Name”列。
我尝试使用
dt3.rows["Name"] = "" ;
但是,这并不工作。我知道其原因,因为我再次需要在dt3数据表上循环,并且 将值分配给该循环中的列。但不知道该怎么做,如果还有更好的解决方案。我的意思是我们可以在dt3 datatable中找到id,然后更新值。但不知道如何去做 有没有比循环2表更智能的解决方案?
为什么要使用'DataTable'? – Jodrell
@Jodrell所以我应该使用什么?我使用数据表,因为我从sql查询中获取动态列。我尝试使用列表,但不知道如何使它与动态列一起工作。 – Happy
这个问题没有提到动态数据,你的'dt1'和'dt2'组合的结果是否需要成为'DataTable'? – Jodrell