C# 把DataTable dt1,DataTable dt2,DataTable dt3,Datatable dt4里面相同的序列号的相关的数据用代码提取出来组成一行,一行一行组合,组成一个新的表,然后再和界面显示控件绑定
时间: 2023-12-17 18:02:42 浏览: 193
创建DataTable结构,添加、删除数据,绑定显示在dataGridView控件上
5星 · 资源好评率100%
可以使用 LINQ 进行多表关联查询,将相同序列号的数据提取出来,组成新的表。具体代码如下:
```csharp
// 定义新表结构
DataTable newTable = new DataTable();
newTable.Columns.Add("序列号");
newTable.Columns.Add("dt1数据");
newTable.Columns.Add("dt2数据");
newTable.Columns.Add("dt3数据");
newTable.Columns.Add("dt4数据");
// 多表关联查询
var query = from row1 in dt1.AsEnumerable()
join row2 in dt2.AsEnumerable() on row1["序列号"] equals row2["序列号"]
join row3 in dt3.AsEnumerable() on row1["序列号"] equals row3["序列号"]
join row4 in dt4.AsEnumerable() on row1["序列号"] equals row4["序列号"]
select new
{
序列号 = row1["序列号"],
dt1数据 = row1["数据"],
dt2数据 = row2["数据"],
dt3数据 = row3["数据"],
dt4数据 = row4["数据"]
};
// 将查询结果添加到新表中
foreach (var item in query)
{
DataRow newRow = newTable.NewRow();
newRow["序列号"] = item.序列号;
newRow["dt1数据"] = item.dt1数据;
newRow["dt2数据"] = item.dt2数据;
newRow["dt3数据"] = item.dt3数据;
newRow["dt4数据"] = item.dt4数据;
newTable.Rows.Add(newRow);
}
// 将新表绑定到界面显示控件
yourControl.DataSource = newTable;
```
其中,`dt1`、`dt2`、`dt3`、`dt4` 分别表示原始表格,需要根据实际情况替换。`yourControl` 表示需要绑定的界面显示控件,需要根据实际情况替换。
阅读全文