我已經建立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