autocompletar combobox mientras escribe

1,017 views
Skip to first unread message

Saúl Piña

unread,
Feb 14, 2014, 10:17:23 AM2/14/14
to publice...@googlegroups.com
Saludos y feliz dia de Amistad!

Se puede realizar el proceso de autocompletar en un combobox y que en el propio combobox si existe el item se autocomplete?

El combobox se trata de todos los estados de méxico (32 estados) y por ejemplo si debo elegir "NUEVO LEON" que al momento de escribir Nuev....me posicione en el item "NUEVO LEON".

muchas gracias desde ya.

Fernando D. Bozzo

unread,
Feb 14, 2014, 11:20:15 AM2/14/14
to publice...@googlegroups.com
Hola Saúl:

Ese es el funcionamiento del combobox por defecto. Solo que tenés que comenzar a escribir mas o menos rápido, y el combobox debe ser de tipo lista, no el editable.

Saludos.-

MALKASOFT ADPI: http://www.developervfp.blogspot.com/

unread,
Feb 14, 2014, 1:03:00 PM2/14/14
to publice...@googlegroups.com
Hola si es posible lo que dices, te paso unas lineas de codigo para que lo agregas en el interactivechange funciona muy bien me paso un colega el código

ComboBox;

RowSorceType = 2
Style               = 0
LOCAL codigoCaracter AS Integer
LOCAL valorDisplay AS String
LOCAL valorNuevoDisplay AS String
LOCAL lnUltimaSeleccion AS Integer
LOCAL lnSeleccionados AS Integer

codigoCaracter = LASTKEY()
valorNuevoDisplay = ""
lnUltimaSeleccion = 0
lnSeleccionados = 0

IF (codigoCaracter >= 32 AND codigoCaracter <= 126)
valorDisplay = SUBSTR(THIS.DISPLAYVALUE,1,THIS.SELSTART-1)+(CHR(codigoCaracter))
valorNuevoDisplay = THIS.DISPLAYVALUE
FOR i = 1 TO THIS.LISTCOUNT
IF UPPER(valorDisplay) $ UPPER(SUBSTR(THIS.LIST(i),1,LEN(valorDisplay)))
THIS.DISPLAYVALUE = THIS.LIST(i)
THIS.SELSTART = LEN(valorDisplay)
IF LEN(ALLT(THIS.DISPLAYVALUE)) > LEN(valorDisplay)
THIS.SELLENGTH = LEN(ALLT(THIS.DISPLAYVALUE))-LEN(valorDisplay)
ELSE
THIS.SelLength = 0
ENDIF
valorNuevoDisplay = THIS.DISPLAYVALUE
lnUltimaSeleccion = THIS.SELSTART
lnSeleccionados = THIS.SELLENGTH
RETURN
ENDIF
ENDFOR
THIS.DISPLAYVALUE = valorNuevoDisplay
THIS.SELSTART = IIF(lnUltimaSeleccion > 0, lnUltimaSeleccion, LEN(valorDisplay))
THIS.SELLENGTH = lnSeleccionados
ENDIF


eso es todo lo que se necesita para que funcione el combo, recuerda pesarle un cursor.


Saludos; 


Ing. Russvell Jesus Soto Gamarra 
Framework Multi-conexion v6.0 trabaja cualquier base de datos
(SQLServer, MySQL, Firebird, MariaDB, PostgreSQL, Oracle y etc.) 

Allan Raúl Acuña

unread,
Feb 14, 2014, 2:13:04 PM2/14/14
to publice...@googlegroups.com
Estimado, sumale al comentario del colega Bozzo, el codigo adjunto en el InteractivateChance del combo.

Saludos cordiales.

Lic. Allan Raúl Acuña
Analista Programador
msn= allan...@hotmail.com
skype= NicEasySoft
            +(505) 8 831 8191      
www.NicEasySoft.org
Managua, Nicaragua
Centroamérica



Date: Fri, 14 Feb 2014 08:20:15 -0800
From: fdb...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Re: autocompletar combobox mientras escribe
AUTOINCREMENTAL.txt

Ricardo Peña

unread,
Feb 14, 2014, 5:45:00 PM2/14/14
to GRUPO-VFP GRUPO-VFP
Busca en Portalfox combobox con búsqueda incremental.

Ricardo Luis Peña
Analista de Sistemas
BA - Argentina
011-15-4440-7378
 

Date: Fri, 14 Feb 2014 08:20:15 -0800
From: fdb...@gmail.com
To: publice...@googlegroups.com
Subject: [vfp] Re: autocompletar combobox mientras escribe

Saúl Piña

unread,
Feb 17, 2014, 11:07:20 AM2/17/14
to publice...@googlegroups.com
Sencillo y simple Sr. Fernando D. Bozzo es usted muy amable. gracias. y a los demás muy agradecido.

Alcides Sanchez

unread,
Jul 22, 2015, 11:17:53 AM7/22/15
to Comunidad de Visual Foxpro en Español, saulpi...@gmail.com
Gracias por el aporte, lo estaba buscando.
Reply all
Reply to author
Forward
0 new messages