22

我已经创建了 Windows 应用程序。在此,我在数据集中有多个表,现在我想将其绑定到单个 DataGridView。有谁能够帮助我?

4

4 回答 4

44

以下将显示一张数据集表

DataGridView1.AutoGenerateColumns = true;
DataGridView1.DataSource = ds; // dataset
DataGridView1.DataMember = "TableName"; // table name you need to show

如果要显示多个表,则需要从所有表中创建一个数据表或自定义对象集合。

如果两个表具有相同的表架构

dtAll = dtOne.Copy(); // dtOne = ds.Tables[0]
dtAll.Merge(dtTwo); // dtTwo = dtOne = ds.Tables[1]

DataGridView1.AutoGenerateColumns = true;
DataGridView1.DataSource = dtAll ; // datatable

对所有表进行模式化的示例代码

DataTable dtAll = ds.Tables[0].Copy();
for (var i = 1; i < ds.Tables.Count; i++)
{
     dtAll.Merge(ds.Tables[i]);
}
DataGridView1.AutoGenerateColumns = true;
DataGridView1.DataSource = dtAll ;
于 2012-06-19T11:13:15.653 回答
6

像这样使用:-

gridview1.DataSource = ds.Tables[0]; <-- Use index or your table name which you want to bind
gridview1.DataBind();

我希望它有帮助!

于 2012-06-19T11:10:11.490 回答
2

这在 asp.net 中为我工作

dgHistory.DataSource = ds.Tables[0]; // dgHistory is the datagrid
  
dgHistory.DataBind();
于 2021-07-09T06:43:17.027 回答
0

您可以将数据集设置为网格,如下所示:

//假设你的数据集对象是 ds

datagridview1.datasource= ds;
datagridview1.datamember= tablename.ToString();

tablename 是要在网格上显示的表的名称。

我希望,它有帮助。

BR

于 2012-06-19T11:08:31.707 回答