3つのデータテーブルを作成しました
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 データテーブルの列「名前」を更新します。
使ってみた
dt3.rows["Name"] = "" ;
しかし、これはうまくいきません。その理由は、dt3 データテーブルを再度ループして、そのループ内の列に値を割り当てる必要があるためです。しかし、それを行う方法と、さらに良い解決策があるかどうかはわかりません。つまり、dt3 データテーブルで id を見つけて、値を更新できます。しかし、それを行う方法がわからない 2つのテーブルでループするよりもインテリジェントなソリューションはありますか?