C# dataTable的linq联合查询,插入到新的dataTable中

[csharp]  view plain  copy
  1. //获取要比对的数据  
  2.             DataTable dataTable_yh = (DataTable)gridControl1.DataSource;  
  3.             DataTable dataTable_tg = (DataTable)gridControl2.DataSource;  
  4.             //是否有必要比  
  5.             if (dataTable_yh == null || dataTable_yh == null)  
  6.             {  
  7.                 MessageBox.Show("没有需要比较的数据");  
  8.                 return;  
  9.             }  
[csharp]  view plain  copy
  1. //整车整备质量不一致  
  2.             var zczbzlData = from d in dataTable_yh.AsEnumerable()  
  3.                              join dd in dataTable_tg.AsEnumerable()  
  4.                              on d.Field<string>("CLXH") equals dd.Field<string>("CLXH")  
  5.                              where d.Field<string>("RLLX") == dd.Field<string>("RLLX")  
  6.                              && d.Field<string>("ZCZBZL") != dd.Field<string>("ZCZBZL")  
  7.                              select new  
  8.                              {  
  9.                                  VIN = d.Field<string>("VIN"),  
  10.                                  CLXH = d.Field<string>("CLXH"),  
  11.                                  RLLX = d.Field<string>("RLLX"),  
  12.                                  YH_ZCZBZL = d.Field<string>("ZCZBZL"),  
  13.                                  TG_ZCZBZL = dd.Field<string>("ZCZBZL")  
  14.                              };  
  15.             this.gcTable1.DataSource = zczbzlData.ToList();  
  16.             //油耗实际值不一致  
  17.             var zhgkData = from d in dataTable_yh.AsEnumerable()  
  18.                              join dd in dataTable_tg.AsEnumerable()  
  19.                              on d.Field<string>("CLXH") equals dd.Field<string>("CLXH")  
  20.                              where d.Field<string>("RLLX") == dd.Field<string>("RLLX")  
  21.                              && d.Field<string>("ZHGK") != dd.Field<string>("ZHGK")  
  22.                              select new  
  23.                              {  
  24.                                  VIN = d.Field<string>("VIN"),  
  25.                                  CLXH = d.Field<string>("CLXH"),  
  26.                                  RLLX = d.Field<string>("RLLX"),  
  27.                                  YH_ZHGK = d.Field<string>("ZHGK"),  
  28.                                  TG_ZHGK = dd.Field<string>("ZHGK")  
  29.                              };  
  30.             this.gcTable2.DataSource = zhgkData.ToList();  
  31.             //通告中不存在  
  32.             var cllxArr = dataTable_tg.AsEnumerable().Select(d => d.Field<string>("CLXH")).ToArray();  
  33.             var rllxArr = dataTable_tg.AsEnumerable().Select(d => d.Field<string>("RLLX")).ToArray();  
  34.             var errorData = from d in dataTable_yh.AsEnumerable()  
  35.                             where !cllxArr.Contains(d.Field<string>("CLXH"))  
  36.                             || !rllxArr.Contains(d.Field<string>("RLLX"))  
  37.                             select new  
  38.                             {  
  39.                                 VIN = d.Field<string>("VIN"),  
  40.                                 CLXH = d.Field<string>("CLXH"),  
  41.                                 RLLX = d.Field<string>("RLLX")  
  42.                             };  
  43.             this.gcTable3.DataSource = errorData.ToList();  
[csharp]  view plain  copy
  1. //比较完初始选中的tab页  
  2.             int selectTabIndex = 1;  
  3.             if (zczbzlData.Count() < 1)   
  4.             {  
  5.                 selectTabIndex = 2;  
  6.                 if (zhgkData.Count() < 1)   
  7.                 {  
  8.                     selectTabIndex = 3;  
  9.                     if (errorData.Count() < 1)  
  10.                     {  
  11.                         MessageBox.Show("数据一致");  
  12.                         return;  
  13.                     }  
  14.                 }  
  15.             }  
  16.             xtraTabControl1.SelectedTabPageIndex = selectTabIndex;  

猜你喜欢

转载自blog.csdn.net/shan1774965666/article/details/78050317