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

时间:2015-07-16 01:30:21

标签: c#

我有两张桌子: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_m的{​​{1}} ID行应设置为08,因为其中一列的值在另一个表中的值不同[ row.SetModified()]

并且dt_odt_m ID的行应设置为11,因为它不存在于另一个表中... < / p>

和行的其余部分,行状态将设置为row.SetAdded() ..

任何代码建议?

1 个答案:

答案 0 :(得分:1)

我会使用这篇文章的答案在表格中搜索您正在寻求的指定要求:how to search the dataset for specific data

然后根据您想要的内容设置返回的行的状态。例如:

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来做到这一点。