如果DataTable满足以下条件,则更改其Rows状态

本文关键字:Rows 状态 满足 DataTable 条件 如果 | 更新日期: 2023-09-27 18:03:00

我有两个表:DataTable dt_o;DataTable dt_m;

dt_m含量:

ID        |    Name      |    Age    
--------------------------------------
08        |    Farel     |     18      
07        |    Ema       |     18
10        |    Sophie    |     19
11        |    Cyril     |     12

dt_o含量:

ID        |    Name      |    Age    
--------------------------------------
08        |    Farel     |     19      
07        |    Ema       |     18
10        |    Sophie    |     19

dt_m08ID的行应该设置为row.SetModified(),因为它的一个列值与另一个表[dt_o]不同

dt_mID11的行应该设置为row.SetAdded(),因为它不存在于另一个表…

和其他行,这些行状态将被设置为unchange state ..

有什么代码建议吗?

如果DataTable满足以下条件,则更改其Rows状态

我会搜索表的指定要求,你正在寻找使用这篇文章的答案:如何搜索数据集的特定数据

然后根据你想做的设置返回行的状态。例如:

dataSet.AcceptChanges(); //If you'd like to start with everything as "unchanged"
foreach(DataRow row in rowsReturnedFromQuery1)
    row.SetAdded();
foreach(DataRow row2 in rowsReturnedFromQuery2)
    row2.SetModified();

希望这对你有帮助。我相信你也可以用Linq来做到这一点。