【发布时间】:2012-06-21 09:54:25
【问题描述】:
我已经创建了 Windows 应用程序。在此,我在数据集中有多个表,现在我想将其绑定到单个 DataGridView。有人可以帮帮我吗?
【问题讨论】:
-
我想你可以看看DataViewManager
标签: c#
我已经创建了 Windows 应用程序。在此,我在数据集中有多个表,现在我想将其绑定到单个 DataGridView。有人可以帮帮我吗?
【问题讨论】:
标签: c#
以下将显示一个数据集表
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 ;
【讨论】:
DataGridView1.AutoGenerateColumns 是true 默认情况下,除非有人明确将其设置为false。您无需在此处再次将其设置为true,如上面的代码 sn-p 所示。
AutoGenerateColumns 设置为false 我可以像我们在datatable 到datagridview 中所做的那样,这样我就可以从datatset 获取值并分配给datagridview 中的特定列吗? Mygrid.Columns["Mydridcolumn"].DataPropertyName = dt.Columns["SEQ"].ColumnName;
像这样使用:-
gridview1.DataSource = ds.Tables[0]; <-- Use index or your table name which you want to bind
gridview1.DataBind();
希望对你有帮助!!
【讨论】:
这在 asp.net 中对我有用
dgHistory.DataSource = ds.Tables[0]; // dgHistory is the datagrid
dgHistory.DataBind();
【讨论】:
您可以将数据集设置为网格,如下所示:
//假设你的数据集对象是ds
datagridview1.datasource= ds;
datagridview1.datamember= tablename.ToString();
tablename 是要在网格上显示的表格的名称。
希望对你有帮助。
B.R.
【讨论】: