datagrid and combobox....how to avoid error when edit control is NOT combobox?

The code attached ALMOST works, but when the edit control is a bound textbox on the same row, an error occurs...

Unable to cast object of type 'System.Windows.Forms.DataGridViewTextBoxEditingControl' to type 'System.Windows.Forms.ComboBox'.

How do I avoid activating the code in EditingControlShowing when I don't need it or want it?

Thanks in advance.
Private Sub DataGridViewForms_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridViewForms.EditingControlShowing
        Dim editingComboBox As ComboBox = CType(e.Control, ComboBox)
        If Not editingComboBox Is Nothing Then
            AddHandler editingComboBox.SelectedIndexChanged, AddressOf editingComboBox_SelectedIndexChanged
        End If
    End Sub

    Private Sub editingComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim comboBox1 As ComboBox = CType(sender, ComboBox)
        Dim dgr As System.Windows.Forms.DataGridViewRow = Nothing
        Dim fc As HPFFAFormClass = Nothing

        comboBox1.DisplayMember = "Description"
        comboBox1.ValueMember = "HPFDocType"

        dgr = Me.DataGridViewForms.CurrentRow
        fc = dgr.DataBoundItem
        fc.HPFDocType = comboBox1.SelectedValue
        Me.DataGridViewForms.Refresh()


    End Sub

Open in new window

codefingerAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
cascader_grConnect With a Mentor Commented:
Try this:


Dim editingComboBox As ComboBox 

If TypeOf (e.Control) Is ComboBox Then
    editingComboBox = DirectCast(e.Control, ComboBox)
Else
     Exit Sub
End If

Open in new window

0
 
codefingerAuthor Commented:
Tested...works like a charm...thanks!!
0
All Courses

From novice to tech pro — start learning today.