Problema con Combo Box - no logro seleccionarlos.
Es la primera ves qu escribo una duda en el foro y espero su colaboracion.
Bien tengo el siguiente problea, en un formulario tengo 3 combobox que son Pais, Estado, Ciudad.
Entonces al momento de cargar el FORM en el load cargo la lista de Paises.
y tengo la funcion cbPais.SelectionChangeCommitted asignada para que al seleccionar un pais se carguen los estados y lo mismo con Estados, carga las ciudades, esta parte es funcional.
Pero quiero programar que al escribir un Codigo en el campo txtCodigo este compruebe si existe el codigo, en caso afirmativo cargar los datos desde la BD. pero no logro hacer que carguen los Combobox.
el codigo del Texbox es el Siguiente.
Código:
Private Sub txtCodigo_KeyUP(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txtCodigo.KeyUp
Try
If e.KeyCode = Keys.Enter Or e.KeyCode = 9 Then
'Si preciono enter se optienen datos para editar
Dim sql As String
Dim cm As MySqlCommand
Dim da As MySqlDataAdapter
Dim ds As DataSet
Dim dv As New DataView
sql = "Select * From proveedores WHERE id_empresa='" & id_emp & "' AND codigo='" & txtCodigo.Text & "' AND estatus=1"
con.Open()
cm = New MySqlCommand()
cm.CommandText = sql
cm.CommandType = CommandType.Text
cm.Connection = con
da = New MySqlDataAdapter(cm)
ds = New DataSet()
da.Fill(ds)
dv.Table = ds.Tables(0)
If ds.Tables(0).Rows.Count = 0 Then
'si no hay resultados pasamos el foco a txtNombre
txtNombre.Focus()
con.Close()
Else
'antes limpiamos
txtCodigo.DataBindings.Clear()
txtNombre.DataBindings.Clear()
'si hay resultado llenamos
txtCodigo.DataBindings.Add(New Binding("text", dv, "codigo"))
txtNombre.DataBindings.Add(New Binding("text", dv, "nombre"))
txtDireccion.DataBindings.Add(New Binding("text", dv, "direccion"))
txtColonia.DataBindings.Add(New Binding("text", dv, "colonia"))
txtCodigoPostal.DataBindings.Add(New Binding("text", dv, "codigo_postal"))
cbPais.DataBindings.Add(New Binding("SelectedValue", dv, "pais"))
cbEstado.DataBindings.Add(New Binding("SelectedValue", dv, "estado"))
cbCiudad.DataBindings.Add(New Binding("SelectedValue", dv, "ciudad"))
txtCodigo.Focus()
con.Close()
End If
End If
Catch ex As Exception
MsgBox("Excepción en tiempo de ejecución: " & ex.Message) 'Ocurrió un error durante se procesaba.
con.Close()
End Try
End Sub
Por cierto no me detecta la tecla TAB solo enter.
Entiendo que mi error esta que al cargar el FORM solo se carga PAIS y los otros 2 ComboBox estan en blanco y cuando el Binding intenta seleccionar el Value este no existe.