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

[0] Índice de Mensajes

Ir a la versión completa