Link to home
Start Free TrialLog in
Avatar of codefinger
codefingerFlag for United States of America

asked on

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

ASKER CERTIFIED SOLUTION
Avatar of cascader_gr
cascader_gr
Flag of Greece image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of codefinger

ASKER

Tested...works like a charm...thanks!!