我在 C# 中有三个 DataTable,分别称为 MIT、Oracle 和 Difference。您能否让我知道如何将这三个表作为单独的列添加到 gridview 中?我知道如何将 DataTable 绑定到 gridview,如下所示。但我需要对几个 DataTables 做同样的事情。请帮忙
dataGridView1.DataSource = MIT;
这是 GridView 的图像。
即使在 GridView 中添加这三个不同的表(添加每个 DataTable 的列)。您将如何填充每一行中的数据,因为这三者可能不同。因此,必须有某种方法首先根据任何关系将这些表连接成一个表,然后您可以将生成的 DataTable 关联/绑定到 GridView:
EnumerableRowCollection<DataRow> result =
from t1 in dt1.AsEnumerable()
join t1 in dt2.AsEnumerable()
on t1.Field<int>("KeyId") equals
t2.Field<int>("KeyId")
select new
{
KeyId = t1.Field<int>("KeyId"),
Column1 = t1.Field<string>("Column1"),
Column2 = t2.Field<string>("Column2"),
.
.
};
dataGridView1.DataSource = result.AsDataView();
我认为你应该将你的表组合成一个DataSet
然后使用一个公共列(我假设有一个!)DataRelations
在表之间创建。这将允许您将您DataGridView
的结果绑定到DataSet
.
欲了解更多信息:请参阅此处。
您应该将多个数据表合并为一个数据表,然后将其作为数据源提供给 datagridview。下面的链接将有助于将数据表合并为一个。
http://www.aspnettutorials.com/tutorials/database/bind-mult-table-gridview-asp4.aspx
或者
您应该使用适当的连接将您的数据选择到单个表中。DataGridViews 以单表格式显示它们的数据——DataGridView 中没有“多表”概念。
DataSet.Merge()
可以帮助您将不同对象的 DataRows 合并为一个。