![]() |
combobox y autocomplete !!!!!!!!!!!!!!!!!!
tengo un lisbox conla proiedad autocomplete y autodropdown a true.
El usuario escribe y la lista va seleccionando las coincidencias todo bien pero al seleccionarse una y presionar enter la propiedad ItemIndex se pone a -1 o al valor del anterior elemento seleccionado Deseo conservar el itemindex de la seleccion ¿a que se debe este comportamiento y como podria soluionarlo? gracias de antemano |
Pues se me hace que el problema esta escondido por algún lado, porque a mi me funciona exactamente como mencionas, dejándo el índice del elemento seleccionado al presionar la tecle enter.
:confused::confused: |
ok mira pon una listbox con 10 elementos:
amarillo ambar ameno luegon button que muestre el indice del elemeto seleccionado enun showmessage enel combo escribe am, se va a selleccionar amarillo sin terminar de escribir presiona enter el button deberia mostrar 0 verdad por que el priemero estaba seleccionado pero muestra -1 es decir el avor anterior a ver prueba nota.- tengo delphi 6 |
tienes razón, al utilizarlo en un evento de botón:
muestra otro valor que no es el seleccionado. Yo lo estaba probando en el evento onchange del combobox:
El cuál sí me muestra el número correctamente |
a ver prueba
este código en el evento keypress del combo
|
Eso tambien me muestra el número correctamente...
|
Prueba poniendo esto en el evento OnCloseUp del combo:
// Saludos |
|
no es lo mismo ya que lo que se requiere es que el user vaya lipeando y se vaya seleccionando las coincidencias y si ya encontro lo que busca presione enter y ya si lo ponemos a csDropDownList solo reconoce la ultima tecla presionada
|
La última tecla presionada dependiendo del valor que tengas en AutoCompleteDelay :D
Si esta dentro de ese rango de retardo, el combo sigue buscando letra por letra. O sea que lo tendrían que ir escribiendo rápido :p en fin, creo que con lo que dice Roman es más que suficiente, digo yo. |
Cita:
// Saludos |
pues usando indexof lo selecionamos pero.. si la lista es muy grande digamos 100 mil entradas que se yo demoraria en ubicarla
de todas maneras podriamos usar el evento keypress y para listas pequeñas seria usando indexof. como sugerencia opino |
Yo opino que si van a ser incluso más de 100 elementos, lo mejor es utilizar otro tipo de control con una opción de búsqueda. :rolleyes:
|
Cita:
|
a que caray, yo estoy con Delphi 2006 :D
en delphi 10 el combobox tiene esa propiedad. |
bueno gracias ya estaba entrando en panico :D
|
La franja horaria es GMT +2. Ahora son las 21:41:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi