2016-02-04 74 views
-1

我有一个DataGridView与三个DataGridViewComboBoxColumns。默认情况下,它们的DropDownStyle是DropDownList,但我希望它是DropDown。我可以在DataGridView的EditingControlShowing方法中将类型更改为DropDown,但是这是在程序启动并选择ComboBox之后。我已经在DataGridView的CellValidating方法中有代码,允许我为这些ComboBoxColumns添加新值,但是如果不双击它,我就无法编辑ComboBox。以下是一些当前引发InvalidCastException的代码。在启动时设置DataGridViewComboBoxColumn的DropDownStyle?

Dim column As New DataGridViewComboBoxColumn() 
     column.Name = "Name" 
     column.HeaderText = "Name" 
     column.DisplayMember = "Name" 
     column.ValueMember = "Name" 
     column.DataSource = DataTable 
     DataGridView1.Columns.Insert(15, column) 
     For i = 0 To column.Items.Count - 1 
      Dim cb As ComboBox = CType(column.Items(i), ComboBox) 
      If (cb IsNot Nothing) Then 
       cb.DropDownStyle = ComboBoxStyle.DropDown 
      End If 
     Next 

回答

0

要设置DataGridViewComboBoxColumnDropDownStyle,你可以用DataGridViewComboBoxCell设置DataGridViewComboBoxColumn.CellTemplate属性。您可以使用属性DisplayStyle设置模板DataGridViewComboBoxCell的下拉样式。

+0

我已经实现了类似的东西。我将ComboBoxColumn的DisplayStyle设置为Nothing,并且它看起来更好,尽管它隐藏了下拉箭头,直到您单击单元格。你的方法是否仍然显示下拉箭头? –