2013-08-27 150 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