none
Filtrar resultados de un DataGridView con un DropDownList RRS feed

  • Pregunta

  • Estimados,

    Tengo un DataGridView ya cargado con datos, además tengo un DropDownList cargado con nombres de personas, los cuales también se encuentran en el DGV.

    Como puedo, al seleccionar un nombre en el DDL, filtrar dicho nombre en el DGV, es decir...

    Si yo selecciono "Pedro" que solo me aparezcan los datos que contengan dicho nombre en la columna nombre, y más importante aún, como volver a cargar el listado completo al seleccionar "TODOS" en el DDL???

    Saludos cordiales,
    Gabriel

    lunes, 18 de agosto de 2014 15:14

Respuestas

  • >>Tengo un DataGridView ya cargado con datos

    no sera un GridView ? porque el control que mencionas es de winforms

    >>Como puedo, al seleccionar un nombre en el DDL, filtrar dicho nombre en el DGV

    podrias usar el evento SelectedIndexChanged, pero para que esto funcione debes poner la propiedad AutoPostBack = true en el ddl

    una vez que tienes el evento podrias usar el SelectedValue para tomar el valor seleccionado y usarlo en el WHERE del SELECT

    >>más importante aún, como volver a cargar el listado completo al seleccionar "TODOS" en el DDL???

    podrias envier un DBNull.Value como valor del parametro o sea

    cmd.Parameters.AddWidthValue("@param", DBNull.Value);

    entonces en el select usarias

    SELECT * FROM Tabla WHERE ((@param IS NULL) OR (campo = @param))

    de esta forma si se selecciona todos anulas el filtro y se muestra todo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 18 de agosto de 2014 15:23

Todas las respuestas

  • >>Tengo un DataGridView ya cargado con datos

    no sera un GridView ? porque el control que mencionas es de winforms

    >>Como puedo, al seleccionar un nombre en el DDL, filtrar dicho nombre en el DGV

    podrias usar el evento SelectedIndexChanged, pero para que esto funcione debes poner la propiedad AutoPostBack = true en el ddl

    una vez que tienes el evento podrias usar el SelectedValue para tomar el valor seleccionado y usarlo en el WHERE del SELECT

    >>más importante aún, como volver a cargar el listado completo al seleccionar "TODOS" en el DDL???

    podrias envier un DBNull.Value como valor del parametro o sea

    cmd.Parameters.AddWidthValue("@param", DBNull.Value);

    entonces en el select usarias

    SELECT * FROM Tabla WHERE ((@param IS NULL) OR (campo = @param))

    de esta forma si se selecciona todos anulas el filtro y se muestra todo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 18 de agosto de 2014 15:23
  • Gracias Leandro, lo probare y te cuento como me fue.

    Y si, era GridView... :P

    Saludos,

    lunes, 18 de agosto de 2014 15:24
  • Hola Gabriel,

    Te mando un saludo, ¿Has resuelto tu consulta? Si has resuelto tu consulta no olvides marcar las respuesta que te haya ayudado a resolver tu consulta. Quedamos atentos a tus comentarios.

    Miguel      

    MSDN/TechNet Soporte Comunidades

    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema.
    Es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    miércoles, 20 de agosto de 2014 21:55
    Moderador