2013-08-27 195 views
2

我可以在運行時將vb.net的datagridview中的文本列更改爲combobox列類型嗎?我知道這可以在設計時完成,但我想以編程方式完成。vb.net將datagridview列類型更改爲combobox

+0

我的第一個問題是:您已經嘗試了什麼?第二個問題是:你爲什麼需要這樣做? – Adrian

+1

http://stackoverflow.com/questions/12927094/how-to-change-a-datagridview-cell-style-from-the-default-textbox-to-combobox-in/12929137#12929137 – WozzeC

+0

直到現在我可以添加一個組合框列並隱藏一些列並做對了。但是有沒有改變列類型而不是添加新列? –

回答

2

如果您在運行時,您將不得不刪除列,然後添加組合框列。確保組合框的Items列表包含數據值,否則將引發異常。

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