vb.net променя типа колона datagridview на combobox

мога ли да променя колоната на текстовото поле в datagridview във vb.net на тип колона на комбинираното поле по време на изпълнение? Знам, че това може да се направи по време на проектиране, но искам да го направя програмно.


person Hilal Al-Rajhi    schedule 27.08.2013    source източник
comment
Първият ми въпрос ще бъде: какво сте опитали вече? Вторият въпрос би бил: защо трябва да правите това?   -  person Adrian    schedule 27.08.2013
comment
stackoverflow.com/questions/12927094/   -  person WozzeC    schedule 27.08.2013
comment
Досега можех да добавя колона с разгъващ се списък и да скрия някои колони и го направих правилно. Но има ли възможност да промените типа на колоната, вместо да добавите нова колона?   -  person Hilal Al-Rajhi    schedule 27.08.2013
comment
Имам таблици за служители и отдели. Таблиците на служителите имат външен ключ departmentId, който е първичен ключ в таблицата на отдела. Когато заредя таблицата на служителите, получих всички подробности с идентификатора на отдела, а не името на отдела. Сега имам нужда от кода, който променя колоната departmentId в изгледа на datagridview в колона с падащ списък. За да мога да избера името на отдела, вместо да въвеждам идентификатора на отдела.   -  person Hilal Al-Rajhi    schedule 27.08.2013


Отговори (1)


Ако сте в среда за изпълнение, ще трябва да премахнете колоната и след това да добавите колона от падащ списък. Уверете се, че списъкът с елементи на вашия комбиниран списък съдържа стойността на данните или ще бъде хвърлено изключение.

With DataGridView1
    If .Rows.Count = 0 Then Exit Sub
    i = Datagridview1.currentrow.index

    Dim gridComboBox As New DataGridViewComboBoxCell
    gridComboBox.Items.Add("A") 'Populate the Combobox
    gridComboBox.Items.Add("B") 'Populate the Combobox
    gridComboBox.Items.Add("C") 'Populate the Combobox
    .Item(8, i) = gridComboBox
End With
person AAzami    schedule 31.08.2013