Programación General > Visual Basic 6.0 e inferiores
Combobox
(1/1)
xxxNeOxxx:
Hola, tengo un control combobox que toma los valores de una base de dato. Como ultimo item del combobox tengo la opcion añadir, y hasta aki todo bien. Añado un elemento, se agrega a la base y al combo. Ahora bien, he intentado que el nuevo item que añado pase a estar 'seleccionado' (como si lo seleccionara manualmente del combobox), pero no he logrado hacerlo.
Gracias.
DiabloRojo:
Hola.
Me llamó la atención lo que estabas buscando hacer. Aquí te mando el código de una prueba que hice y me parece que resuelve tu problema:
--- Código: Text --- Private Sub Combo1_Click() Dim i As Integer Dim indice As Integer Dim nvoElement As String If (Combo1.Text = "-añadir-") Then nvoElement = InputBox("Escriba el nuevo elemento", "Añadir") If nvoElement <> "" Then Combo1.AddItem nvoElement End If End If ' para que me muestre seleccionado el nuevo elemento'' ésta es una forma' Combo1.ListIndex = Combo1.NewIndex ' sólo si el elemento se añade al final de la lista'' esta es otra forma. Si no sé en que posición se añade (ej. si utilizo la propiedad Sort) For i = 1 To Combo1.ListCount indice = i - 1 If (Combo1.List(indice) = nvoElement) Then Combo1.ListIndex = indice Exit For End If Next iEnd Sub
Lo interesante del código es lo que esta contenido dentro del bucle for. Fíjate que debes almacenar en una variable (nvoElement en el caso de mi prueba) el elemento que deseas agregar para realizar luego la comparación de ésta variable con cada uno de los elementos que integra el combo. Como vez la comparación se realiza a nivel de cadenas de caracteres ya que la propiedad List devuelve o establece el elemento de determinada posición. Al haber una coincidencia se establece la propiedad ListIndex al elemento que produjo la coincidencia (representado por la variable "indice"). Como supongo que cada elemento es único coloco un Exit For para salir del bucle una vez establezco la propiedad ListIndex (que es la que se encarga de mostrarme el elemento recién ingresado).
Bueno espero que esto te ayude a resolver lo que estás buscando hacer.
Suerte.
Hey, por cierto, si puedes indicar la forma en que agregas tanto en el combo como en la base de datos te lo agradecería.
Navegación
Ir a la versión completa