C# 把DataTable A,DataTable B,DataTable C里面相同的序列号的相关的数据用代码提取出来组成一行,一行一行组合,组成一个新的表,然后再和界面显示控件绑定
时间: 2023-12-14 12:38:07 浏览: 63
你可以通过使用 LINQ 进行 DataTable 的 Join 操作来实现这个需求。具体步骤如下:
1. 使用 LINQ 进行 DataTable 的 Join 操作,将 A、B、C 三个 DataTable 中序列号相同的数据提取出来,并组成一个新的 DataTable:
```csharp
var result = from a in A.AsEnumerable()
join b in B.AsEnumerable() on a.Field<int>("序列号") equals b.Field<int>("序列号")
join c in C.AsEnumerable() on a.Field<int>("序列号") equals c.Field<int>("序列号")
select new {
序列号 = a.Field<int>("序列号"),
A数据 = a.Field<string>("A数据"),
B数据 = b.Field<string>("B数据"),
C数据 = c.Field<string>("C数据")
};
DataTable newTable = new DataTable();
newTable.Columns.Add("序列号", typeof(int));
newTable.Columns.Add("A数据", typeof(string));
newTable.Columns.Add("B数据", typeof(string));
newTable.Columns.Add("C数据", typeof(string));
foreach (var item in result) {
var newRow = newTable.NewRow();
newRow["序列号"] = item.序列号;
newRow["A数据"] = item.A数据;
newRow["B数据"] = item.B数据;
newRow["C数据"] = item.C数据;
newTable.Rows.Add(newRow);
}
```
2. 将新的 DataTable 绑定到界面显示控件上:
```csharp
dataGridView1.DataSource = newTable;
```
阅读全文