0

我在 C# 中有三个 DataTable,分别称为 MIT、Oracle 和 Difference。您能否让我知道如何将这三个表作为单独的列添加到 gridview 中?我知道如何将 DataTable 绑定到 gridview,如下所示。但我需要对几个 DataTables 做同样的事情。请帮忙

dataGridView1.DataSource = MIT;

是 GridView 的图像。

4

3 回答 3

0

即使在 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();
于 2012-10-15T08:28:25.480 回答
0

我认为你应该将你的表组合成一个DataSet然后使用一个公共列(我假设有一个!)DataRelations在表之间创建。这将允许您将您DataGridView的结果绑定到DataSet.

欲了解更多信息:请参阅此处

于 2012-10-15T08:37:39.677 回答
0

您应该将多个数据表合并为一个数据表,然后将其作为数据源提供给 datagridview。下面的链接将有助于将数据表合并为一个。

http://www.aspnettutorials.com/tutorials/database/bind-mult-table-gridview-asp4.aspx

或者

您应该使用适当的连接将您的数据选择到单个表中。DataGridViews 以单表格式显示它们的数据——DataGridView 中没有“多表”概念。

DataSet.Merge()可以帮助您将不同对象的 DataRows 合并为一个。

于 2012-10-15T08:42:36.243 回答