質問

タイトルのように、私はDataGridViewのコンボボックス列を移入しようとしている、と言います。

ここで私がこれまで持っているものです。

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

役に立ちましたか?

解決

私は(あなたが位置を知っている)最初のあなたはのBindingSourceにあなたのコレクションをバインド示唆し、その後のDataGridViewにのBindingSourceを追加します。

しかしComboBoxCellはかなりまっすぐ進むべきである結合ます。

あなたは2列IDと名前を含むDataTableのtblCurrencyがあるとしましょう。 あなたは(私はあなたの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イベントを処理する)

他のヒント

dgvcboPart.DataSource = lc
dgvcboPart.DataBind()

マジックが起こることをするためにDataBindメソッドを呼び出す必要があります!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top