比较2 DataTable C#

时间:2015-12-07 17:30:03

标签: c# datatable

我有2个数据表,数据类似但id字段完全不同。数据列也有不同的名称 这就是我的意思:

Table1

 id      dataIn1
010      Data000
123      Data1   
222      Data2
323      Data4
443      Data6

Table2

 id      dataIn2
551      Data1
676      Data2
111      Data3
625      Data4
444      Data5
665      Data6

我想要一个新的DataTable3,其中包含Table2中的数据但不包含Table1中的数据。请注意,表1中的行也不在表2中,但我并不关心它。

Table3
 id      dataIn3
111      Data3
444      Data5

我尝试过这些方法:

tb2.Merge(tb1);
DataTable tb3 = tb2.GetChanges(); 

但是tb3返回null

这返回了一个数据表,但行错了

var notIn1 = tb2.AsEnumerable().Select(r => r.Field<string>("dataIn2"))
                .Except(tb1.AsEnumerable().Select(r => r.Field<string>("dataIn2")));

DataTable tb3 = (from row2 in tb2.AsEnumerable()
                 join row3 in notIn1
                 on row2.Field<string>("dataIn2") equals row3
                 select row2).CopyToDataTable();

1 个答案:

答案 0 :(得分:2)

你可以这样做:

this.imageUrl = this.getImageSrc();
if this.previousUrl != this.imageUrl {
    this.handleChange.bind(this);
}
this.previousUrl = this.imageUrl;
return <img className="imageDisplay" src={this.imageUrl} onLoad={this.handleImageLoad} onError={this.errorLoadingImage}/>;