0

タイトルが示すように、私はデータグリッドビューのコンボボックス列にデータを入力しようとしています。

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

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

4

2 に答える 2

0

最初に Collection を BindingSource にバインドし、次に BindingSource を DataGridView に追加することをお勧めします (位置がわかるように)

しかし、ComboBoxCell のバインドはかなり簡単です。

Id と Name の 2 つの列を含む DataTable tblCurrency があるとします。これを列にバインドする必要があります (列 0 が DataGridViewColumn であると仮定します)

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

次に、DataPropertyName を DataSource のプロパティに設定できます。

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

注意してください、tblCurrency.Id と Currency_Id は同じタイプでなければなりません (Int32 と UInt32 は機能しません)。Currency_Id が tblCurrency にない値を持つ場合、完全な StackTrace を持つ厄介な MessageBox を取得します (したがって、DataError を処理する必要があります)。イベント)

于 2009-06-11T11:43:38.150 に答える