lunes, 17 de marzo de 2008

Hacer un combo que se autocomplete

En Visual Basic 6 solía utilizar una llamada al api de Windows (que funcionaba bastante bien, por cierto) que me permitía ir autocompletando una combo según iba el usuario escribiendo texto en ella (es decir, si escribo una b, pues la combo se situa en los elementos que comiencen en b, si luego pongo una a, pues la combo se va a los que comienzan por ba y así sucesivamente).

Al traducir el código de una aplicación de Visual Basic 6 a .Net encontré otro código que hacía algo similar, aunque no terminaba de gustarme, ya que en ciertas ocasiones hacía cosas raras. Investigando sobre el tema he encontrado la solución más facil que existe: usar las propiedades de la combo.

Si amigos. Hay veces que me pasa esto. Te tiras buscando por Internet códigos, llamadas a Apis y mil y un trucos para luego darte cuenta que los objetos tienen las funcionalidades que necesitas implementadas con un par de clicks de ratón. Pero vayamos al grano....

Lo que hay que hacer es utilizar las propiedades Autocompletemode y Autocompletesource. Con Autocompletemode le indicaremos a la combo como va a autocompletarse, o dicho de otro modo, en que manera se va a ir rellenando. En nuestro caso utilizaremos Append. La segunda propiedad, Autocompletesource le indica donde tendrá el origen de datos (de donde leera los posibles valores), por lo que le pondremos Listitems. Y con esto tendremos nuestro autocompletar listo para usuarse (por último, recomendar utilizar la propieda DropDownStyle a simple y el sorted a true).

1 comentario:

Anónimo dijo...

Tiene un problema como recupero el selectedvalue??