CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Ver Dato Completo En Combo
(1/1)
Sagma:
hola a todos, tengo un combo que cargo los datos desde una tabla, además le he puesto un autocomplete, pero no se ve toda la palabra completa. como verán en la imagen.
este es mi código que tengo para autocompletar es:
--- Código: Text --- Private Sub cmb_nacionalidad_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cmb_nacionalidad.KeyUp Dim sTypedText As String Dim iFoundIndex As Integer Dim oFoundItem As Object Dim sFoundText As String Dim sAppendText As String 'Allow select keys without Autocompleting Select Case e.KeyCode Case Keys.Back, Keys.Left, Keys.Right, Keys.Up, Keys.Delete, Keys.Down Return End Select 'Get the Typed Text and Find it in the list sTypedText = Trim(Me.cmb_nacionalidad.Text) iFoundIndex = Trim(Me.cmb_nacionalidad.FindString(sTypedText)) 'If we found the Typed Text in the list then Autocomplete If iFoundIndex >= 0 Then 'Get the Item from the list (Return Type depends if Datasource was bound ' or List Created) oFoundItem = Me.cmb_nacionalidad.Items(iFoundIndex) 'Use the ListControl.GetItemText to resolve the Name in case the Combo ' was Data bound sFoundText = Me.cmb_nacionalidad.GetItemText(oFoundItem) 'Append then found text to the typed text to preserve case sAppendText = sFoundText.Substring(sTypedText.Length) Me.cmb_nacionalidad.Text = sTypedText & sAppendText 'Select the Appended Text Me.cmb_nacionalidad.SelectionStart = sTypedText.Length Me.cmb_nacionalidad.SelectionLength = sAppendText.Length End If End Sub Private Sub cmb_nacionalidad_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmb_nacionalidad.Leave Dim iFoundIndex As Integer iFoundIndex = Me.cmb_nacionalidad.FindStringExact(Me.cmb_nacionalidad.Text) Me.cmb_nacionalidad.SelectedIndex = iFoundIndex End Sub
y con este, cargo mi combobox:
--- Código: Text --- Da = New OleDb.OleDbDataAdapter("SELECT adgrlsubg, adgrldesc FROM adgrl " & _ " WHERE (adgrlgrup = 9) " & _ " AND (adgrlsubg > 0) " & _ " ORDER BY adgrlsubg", con.cnn) Da.Fill(Ds4, "adgrl") Me.cmb_nacionalidad.DataSource = Ds4.Tables("adgrl") Me.cmb_nacionalidad.DisplayMember = "adgrldesc" Me.cmb_nacionalidad.ValueMember = "adgrlsubg"
gracias por la colaboración. :smartass:
Scherzo:
Hola, he probado a crear un proyecto en blanco, he agregado literalmente tu código para autocompletar y me ha funcionado perfectamente a la primera, lo cual me lleva a pensar que posiblemente tu problema está viniéndote desde la carga de datos. ¿Te has fijado si realmente el combo se está informando correctamente desde la BBDD? A lo mejor por alguna razón no te llegan bien o te llega vacío y por eso no te muestra nada el autocompletar.
Saludos
Sagma:
Gracias Schezo, pero como dices, todo ok, pero no pillo mi error, ya que el combo se ve todos los datos que tengo en la DB. Eso me pasa cuando le doy enter o el TAB, si te fijas en la imagen cuando estoy en el combo en cualquiera de ellos pasa eso, cuando me salgo o pierdo el foco, este lo muestra completo.
He probado con ponerle el TRIM o el RTRIM, pero no me ha dado resultado.
:comp:
Navegación
Ir a la versión completa