abr 18, 2010

Enviado por en .NET, Programacion

Autocomplete ComboBox en c#

Despues de una semana agitada, entre examenes y la primera práctica de acm de la universidad, pues retomamos un poco la senda de .net ahora con un combobox para autocompletar, a parte de lo prácticos que pueden llegar a ser, la ventaja que representan para el usuario final. Bueno manos a la obra.

La verdad es que se puede hacer de una forma artesanal usando una consulta a la base de dato cada véz y luego cargar el contenido al combobox o a el control que se este usando, pero pues ya .net provee funcionalidad para esto. Recordemos un post anterior donde conectabamos c# con postgresql y usaremos el adapter que brinda npgsql pero pueden usar sqladapter sin mayor problema

DataTable dt = new DataTable();
NpgsqlDataAdapter ad = new NpgsqlDataAdapter("SELECT * FROM kernelerror", cnn);
ad.Fill(dt);

luego cargaremos al combobox los datos que extrajimos de la base de datos y lo guardaremos en un AutoCompleteStringCollection que es una clase que nos va a servir para este fin, indicando con el indice que columna de la tabla vamos a cargar, en nuestro caso tenemos una tabla con nombre y descripción, y vamos a usar la columna nombre sería la 0.

AutoCompleteStringCollection aut = new AutoCompleteStringCollection();
foreach (DataRow d in dt.Rows) aut.Add(d[0].ToString());

luego debemos seleccionar las propiedades correspondientes y asignar el AutoCompleteStringCollection que llenamos a nuestro combobox

comboBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
comboBox1.AutoCompleteCustomSource = aut;

y ya con eso debería estar listo, una captura:

    Posts Relacionados

    1. Jajajaj pero miren esto, el java-man programando en c# xD

      Que te dije? Algun día ibas a sucumbir ante el poder de .net… Ta muy bueno el post viejo ^^

      Usando Google Chrome 4.1.249.1059 Google Chrome 4.1.249.1059 en Windows 7 Windows 7
      • jaja aún sigo usando java, pero no con estos fines, sino en algunos problemas de UVa, pero para todo lo que es gestión estoy usando .NET

        Usando Firefox 3.6.3 Firefox 3.6.3 en Windows Vista Windows Vista
    2. Ahhh por cierto Dude, que le pasa a la plantilla del blog? En Chrome se ve horrible.. =(

      Usando Firefox 3.6.3 Firefox 3.6.3 en Windows 7 Windows 7

    Dejar una respuesta

    Debes ser Alojarse para enviar un comentario.