Winforms 在Windows窗体中动态绑定DataGridView

Winforms 在Windows窗体中动态绑定DataGridView,winforms,Winforms,我想在运行时将DataTable绑定到Windows窗体中。我已经在运行时创建了表单,并尝试将数据表绑定到表单的gridview中。但它没有在表单中显示数据。我使用了以下代码: frmSearch frm = new frmSearch(); for (int i = 0; i < erpData.ERPDataTable.Columns.Count; i++) { frm.Controls["grdSearch"].DataBindings .Add("DataS

我想在运行时将DataTable绑定到Windows窗体中。我已经在运行时创建了表单,并尝试将数据表绑定到表单的gridview中。但它没有在表单中显示数据。我使用了以下代码:

frmSearch frm = new frmSearch();
for (int i = 0; i < erpData.ERPDataTable.Columns.Count; i++)
{
    frm.Controls["grdSearch"].DataBindings
        .Add("DataSource", erpData.ERPDataTable,
                         erpData.ERPDataTable.Columns[i].ToString());
}

frm.Show();
frmSearch frm=新的frmSearch();
for(int i=0;i

有什么问题吗?任何人都可以提供替代解决方案吗?

您可以通过三个步骤将DataGridView绑定到某个数据源:

// Create a binding source
var bs = new BindingSource();

// set the bindingsource's datasource, in this case your table
bs.DataSource = erpData.ERPDataTable;

// set the datagridview's datasource, DataSource isn't a property on Control,
// so cast the one you get from your form's Controls collection as a DataGridView
var dgv = (DataGridView)frm.Controls["grdSearch"];
dgv.DataSource = bs;

我的荣幸。希望它能回答你的问题。