0

DataGridViewプログラムで埋めたいものがあります。を作成し、を介してにDataTableバインドすると、 の列が として作成されます。以下のコードサンプル:BindingSourceDataGridViewDataGridViewTextBoxColumns

Dim dataTable As DataTable = New DataTable()
dataTable.Columns.AddRange(New DataColumn() {New DataColumn("TextBoxColumn1"),
                                             New DataColumn("TextBoxColumn2"),
                                             New DataColumn("ComboBoxColumn"),
                                             New DataColumn("TextBoxColumn3"),
                                             New DataColumn("TextBoxColumn4")})

Dim bindingSource As BindingSource = New BindingSource
bindingSource.DataSource = dataTable
dataGridView.DataSource = bindingSource

で列「ComboBoxColumn」ComboBoxColumnを作成する最良の方法は何DataGridViewですか?

手動でを作成してComboBoxColumnDataGridViewバインドすることもできますDataColumnが、 にプロパティを設定するなど、より良い方法があるかどうかを知りたいDataColumnです。

4

1 に答える 1

2

@Codesleuth の提案に従って、自動生成さDataGridViewTextBoxColumnれたものを次のDataGridComboBoxColumnように置き換えました。

Dim comboBoxColumn As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn()
comboBoxColumn.DataPropertyName = "ComboBoxColumn"
comboBoxColumn.DataSource = comboBoxBindingSource
comboBoxColumn.DisplayMember = "ComboBoxColumn"
comboBoxColumn.ValueMember = "ComboBoxColumn"
DataGridView.Columns.RemoveAt(COLUMN_INDEX)
DataGridView.Columns.Insert(COLUMN_INDEX, comboBoxColumn)
于 2013-06-28T14:34:10.690 に答える