• Sábado 27 de Abril de 2024, 00:49

Autor Tema:  autocompletar en combo  (Leído 2614 veces)

fox99

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
autocompletar en combo
« en: Martes 27 de Enero de 2009, 00:34 »
0
Quisiera ver si alguien puede ayudarme, lo que necesito es que el comboBox sea de autocompletacion pero no se como realizar esto

de antemano muchas gracias

BORKEZ

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: autocompletar en combo
« Respuesta #1 en: Miércoles 30 de Septiembre de 2009, 00:19 »
0
pega ese dodigo en propiedad interactivechange.


LOCAL lnUltimaTecla, lcMostrarValor,lcUltimoValorMostrado, ;
  lnUltimaSeleccion, lnSeleccionados
lnUltimaTecla = LASTKEY()
lcUltimoValorMostrado = ""
lnUltimaSeleccion = 0
lnSeleccionados = 0
IF (lnUltimaTecla >= 32 AND lnUltimaTecla <= 126)
  IF THIS.SELSTART >= 1
    lcMostrarValor = SUBSTR(THIS.DISPLAYVALUE,1,THIS.SELSTART-1)+(CHR(lnUltimaTecla))
  ELSE
    lcMostrarValor = (CHR(lnUltimaTecla))+ALLT(THIS.DISPLAYVALUE)
  ENDIF
  IF EMPTY(lcMostrarValor)
    lcMostrarValor = ALLT(CHR(lnUltimaTecla))
  ENDIF
  FOR i = 1 TO THIS.LISTCOUNT
    IF UPPER(lcMostrarValor) = UPPER(SUBSTR(THIS.LIST(i),1,LEN(lcMostrarValor)))
      THIS.DISPLAYVALUE = THIS.LIST(i)
      IF LEN(ALLT(THIS.DISPLAYVALUE)) > LEN(lcMostrarValor)
        THIS.SELSTART = LEN(lcMostrarValor)
        THIS.SELLENGTH = LEN(ALLT(THIS.DISPLAYVALUE))-LEN(lcMostrarValor)
      ENDIF
      lcUltimoValorMostrado = THIS.DISPLAYVALUE
      lnUltimaSeleccion = THIS.SELSTART
      lnSeleccionados = THIS.SELLENGTH
      RETURN
    ENDIF
  ENDFOR
  THIS.DISPLAYVALUE = lcUltimoValorMostrado
  THIS.SELSTART = lnUltimaSeleccion
  THIS.SELLENGTH = lnSeleccionados
ENDIF