2012-09-14 62 views
1

我想在运行时绑定Windows窗体中的DataTable。我在运行时创建了表单,并将数据表绑定到表单的网格视图中。但它没有在表单中显示数据。我曾使用以下代码:动态绑定Windows窗体中的DataGridView

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(); 

有什么问题?任何人都可以提供其他解决方案

回答

2

您可以分三步绑定一个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; 

MSDN reference on binding DataGridView

+0

感谢您的帮助。 – user1672097

+0

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

相关问题