1

実行時に Windows フォームに DataTable をバインドしたいと考えています。実行時にフォームを作成し、データ テーブルをフォームのグリッドビューにバインドしようとしました。しかし、フォームにデータが表示されていません。次のコードを使用しました:

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

何が問題なのですか?誰でも代替ソリューションを提供できますか?

4

1 に答える 1

3

次の3つの手順で、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;

DataGridViewのバインドに関するMSDNリファレンス

于 2012-09-14T20:41:07.363 に答える