vb.net/DataGridView/ComboBoxCell?

vb.net/DataGridView/ComboBoxCell?,vb.net,datagridview,datagridviewcombobox,Vb.net,Datagridview,Datagridviewcombobox,我正在使用vb.net 2010和winforms以及DataGridView DataGridView有一个DataGridViewComboBox列。当我用DGV显示表单时,它会显示这个和空网格,但包含组合框的列会显示下拉列表中的第一项 如何让组合框在单击并选中之前不显示任何内容 初始化组合框selectedindex属性时,请尝试将其设置为-1。这可能会解决您的问题,但当我执行与您描述的相同的操作时,在单击组合框之前,我的组合框不会在组合框中显示任何值。以下是我采取的步骤: 1. crea

我正在使用vb.net 2010和winforms以及DataGridView

DataGridView有一个DataGridViewComboBox列。当我用DGV显示表单时,它会显示这个和空网格,但包含组合框的列会显示下拉列表中的第一项


如何让组合框在单击并选中之前不显示任何内容

初始化组合框selectedindex属性时,请尝试将其设置为-1。这可能会解决您的问题,但当我执行与您描述的相同的操作时,在单击组合框之前,我的组合框不会在组合框中显示任何值。以下是我采取的步骤:

1. create a datagridview control.

2. right click on control and add column.

3. add DataGridViewComboBoxColumn

4. right click on control and edit columns.

5. Click on the button for "Items (Collection)".

6. Add some items
现在,你的控制应该表现出你的要求。当我运行它时,它工作正常。如果没有,可能是VS2010的错误,因为我运行的是VS2008

编辑: 在代码中添加项目时,只需将combobox值设置为Nothing:

Dim cboBrand As New DataGridViewComboBoxColumn
With cboBrand
    .HeaderText = "Brand"
    .Name = "Brand"
    .Width = 300
    .Items.Add("item1")
    .Items.Add("item2")
    .Items.Add("item3")
End With

Me.DataGridView1.Columns.Insert(0, cboBrand)
DataGridView1.Rows.Insert(0, New Object() {Nothing})
或者,如果要设置初始值,请执行以下操作:

DataGridView1.Rows.Insert(0, New Object() {"item2"})

我不知道“初始化时”是什么意思,这是我的代码Dim cboBrand As New datagridviewcomboxcolumn Dim column1 As DataColumn=New DataColumn(“Brand”)column1.DataType=System.Type.GetType(“System.String”)Me.DataGridView1.Columns.Insert(I,cboBrand)With Me.DataGridView1.Columns(I.Name=“Brand”.HeaderText=“Brand”.Width=300 End由于担心格式,我尝试格式化它,但stackoverflow将其全部置乱。