C# dataTable的linq联合查询,插入到新的dataTable中
其他
2018-12-06 23:38:48
阅读次数: 0
-
- DataTable dataTable_yh = (DataTable)gridControl1.DataSource;
- DataTable dataTable_tg = (DataTable)gridControl2.DataSource;
-
- if (dataTable_yh == null || dataTable_yh == null)
- {
- MessageBox.Show("没有需要比较的数据");
- return;
- }
-
- var zczbzlData = from d in dataTable_yh.AsEnumerable()
- join dd in dataTable_tg.AsEnumerable()
- on d.Field<string>("CLXH") equals dd.Field<string>("CLXH")
- where d.Field<string>("RLLX") == dd.Field<string>("RLLX")
- && d.Field<string>("ZCZBZL") != dd.Field<string>("ZCZBZL")
- select new
- {
- VIN = d.Field<string>("VIN"),
- CLXH = d.Field<string>("CLXH"),
- RLLX = d.Field<string>("RLLX"),
- YH_ZCZBZL = d.Field<string>("ZCZBZL"),
- TG_ZCZBZL = dd.Field<string>("ZCZBZL")
- };
- this.gcTable1.DataSource = zczbzlData.ToList();
-
- var zhgkData = from d in dataTable_yh.AsEnumerable()
- join dd in dataTable_tg.AsEnumerable()
- on d.Field<string>("CLXH") equals dd.Field<string>("CLXH")
- where d.Field<string>("RLLX") == dd.Field<string>("RLLX")
- && d.Field<string>("ZHGK") != dd.Field<string>("ZHGK")
- select new
- {
- VIN = d.Field<string>("VIN"),
- CLXH = d.Field<string>("CLXH"),
- RLLX = d.Field<string>("RLLX"),
- YH_ZHGK = d.Field<string>("ZHGK"),
- TG_ZHGK = dd.Field<string>("ZHGK")
- };
- this.gcTable2.DataSource = zhgkData.ToList();
-
- var cllxArr = dataTable_tg.AsEnumerable().Select(d => d.Field<string>("CLXH")).ToArray();
- var rllxArr = dataTable_tg.AsEnumerable().Select(d => d.Field<string>("RLLX")).ToArray();
- var errorData = from d in dataTable_yh.AsEnumerable()
- where !cllxArr.Contains(d.Field<string>("CLXH"))
- || !rllxArr.Contains(d.Field<string>("RLLX"))
- select new
- {
- VIN = d.Field<string>("VIN"),
- CLXH = d.Field<string>("CLXH"),
- RLLX = d.Field<string>("RLLX")
- };
- this.gcTable3.DataSource = errorData.ToList();
-
- int selectTabIndex = 1;
- if (zczbzlData.Count() < 1)
- {
- selectTabIndex = 2;
- if (zhgkData.Count() < 1)
- {
- selectTabIndex = 3;
- if (errorData.Count() < 1)
- {
- MessageBox.Show("数据一致");
- return;
- }
- }
- }
- xtraTabControl1.SelectedTabPageIndex = selectTabIndex;
转载自blog.csdn.net/shan1774965666/article/details/78050317