2009-05-14 17 views
0

タイトルのように、私はデータグリッドビューにコンボボックスの列を設定しようとしています。私が欠けているものになどdatagridviewコンボボックスの列にサブソニック&vb.netを設定する

Dim lc As System.Web.UI.WebControls.ListItemCollection = _ 
    DataAccess.Part.GetListItems() 

dgvcboPart.DataSource = lc 

' This is a standalone combo box and it works ok 
cboTest.DataSource = lc 

任意の提案:ここ

は私がこれまで持っている何ですか?

おかげ トニー・W

答えて

0

私が最初にあなたがDataGridViewのにのBindingSourceを追加(あなたが位置を知っている)

しかしComboBoxCellはかなりまっすぐ進むべきである結合、その後のBindingSourceにあなたのコレクションをバインドして示唆しています。

たとえば、DataTableのtblCurrencyに2つの列IdとNameが含まれているとします。 あなたの列にこれをバインドする必要が(私はあなたのDataGridViewColumn IST列0を仮定)

 dgvcboPart.Columns(0).DataSource = tblCurrency 
    dgvcboPart.Columns(0).ValueMember = "Id" 
    dgvcboPart.Columns(0).DisplayMember = "Name" 

次に、あなたのデータソース内のプロパティにDataPropertyNameを設定することができます。

 dgvcboPart.Columns(0).DataPropertyName = "Currency_Id" 

carfulて、tblCurrency.IdとCurrency_Idは同じタイプである必要(のInt32とUInt32型が動作しない)とCurrency_IdがtblCurrencyにない価値を持っている場合は、フルのStackTraceで厄介なメッセージボックスを取得(したがって、DataErrorイベントを処理する必要があります)

0
dgvcboPart.DataSource = lc 
dgvcboPart.DataBind() 

が起こる魔法のためにDataBindメソッドを呼び出す必要があります!

+0

WinFormsではなくasp.net。だから 'DataBind'は 'System.Windows.Forms.DataGridViewComboBoxColumn'のメンバーではありません –

関連する問題