2014-11-18 2 views
1

Я немного почесываю голову над этим.Как программно заполнить DataGridViewComboBoxColumn в VB.net?

Так что я добавил в проектную форму a datagridview в мою форму.

В datagridview есть 2 столбца, один столбец - столбец текстового поля, а другой столбец - столбец со списком.

Я понял, как программно заполнить ячейки текстового поля, однако я не могу понять, какое свойство использовать для заполнения столбца combobox.

Я просто ищу, чтобы иметь dropdown с 3 вариантами. Любые идеи были бы замечательными.

PS: Я просто взял VB.net 2 дня назад, поэтому я прошу прощения, если вопрос примитивно :)

ответ

5

Если у вас есть в вашем выпадающий список с DataSource, вы можете сделать это

Dim dgvcc As New DataGridViewComboBoxCell 
With dgvcc 
    .DataSource = answerStr 
    .ValueMember = "CampaignAnswerId" 
    .DisplayMember = "Answer" 
End With 

DataGridViewName.Item(columnIndex, rowIndex) = dgvcc 

или вы можете просто сделать это

Dim dgvcc As New DataGridViewComboBoxCell 
dgvcc.Items.Add("test1") 
dgvcc.Items.Add("test2") 
dgvcc.Items.Add("test3") 

DataGridViewName.Item(columnIndex, rowIndex) = dgvcc 

принять к сведению, что вы должны сделать это в то время как вам цикл внутри DataGridView.

For rowIndex as integer = 0 To DataGridViewName.Rows.Count - 1 
    Dim dgvcc As New DataGridViewComboBoxCell 
    dgvcc.Items.Add("test1") 
    dgvcc.Items.Add("test2") 
    dgvcc.Items.Add("test3") 

    DataGridViewName.Item(yourtextboxcolumnIndex, rowIndex) = dgvcc 
Next 
0

Попробуйте это:

'Declare ComboBoxColumn 
Dim cbColumn As New DataGridViewComboBoxColumn 
cbColumn.Name = "Column ComboBox" 

'Add Values 
For value As Integer = 0 To 5 
    cbColumn.Items.Add("Value = " & value.ToString) 
Next 

'Add ComboBox 
DataGridView1.Columns.Add(cbColumn)