none
FILTRO EN DATAGRIDVIEW (VB.NET) RRS feed

  • Pregunta

  • Buenas tardes me gsutaria hacer un filtrado en un datagridview(windows forms)  por codigo(textbox1), descripcion(textbox2),estado en el caso de estado tengo tres radiobuton (activo, inactivo, todos) estos contorles estan dentro de un panel.La base de datos que uso es oracle.

    En el gridview  tengo tres columnas codigo, descripcion y estado para llenar el dgv uso listas genericas y un bindingsource. Espero que em puedan ayudar.
    Saludos buenas tardes.


    march
    lunes, 16 de noviembre de 2009 20:57

Todas las respuestas

  • hola

    El desarrollo es winform o web?

    lo pregunto porque al principio mencionas un datagridview (winform) pero luego lo cambias a un gridview (web), como veras es distinta la grilla segun el entorno


    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    martes, 17 de noviembre de 2009 13:02
  • Buenas tardes  es winfows form
    march
    martes, 17 de noviembre de 2009 18:06
  • bueno, como utilizas el bindinsource, te aconsejo usar la propiedad filter, ahi especifica las condiciones mediante ifs anidados.
    Ejemplo.

    if estado then
       if des then
           bin_sour.filter="estado=algo"
       else
           bin_sour.filter="estado=algo and des=eleccion"
    else
       bin_sou.removefilter()

    Es una idea de como se trabaja, igual revisa la propiedad filter del bindingsource.


    martes, 17 de noviembre de 2009 21:02
  • Ademas de utilizar If para saber el estado de tus checkbox, puedes utilizar algo como lo siguiente en la propiedad textchanged de tu textbox

    datagridview1.RowFilter =

    String.Format("nombrecolumna Like '%{0}%'", txtfiltro.Text)

    De esta forma lo filtras por la columna que coleques.

    Saludos,

    • Propuesto como respuesta Jason Ulloa viernes, 16 de abril de 2010 20:42
    martes, 8 de diciembre de 2009 13:42
  • El código anterior vale para Visual Basic 2010???

    Ya que pruebo, pero la propiedad filter no me aparece en la DataGridView

    jueves, 5 de julio de 2012 14:43
  • Y porque no usas linq.

    Dices que usas listas genéricas talvez este articulo te sirva.

    Obtener Datos Filtrados Usando Linq

    • Propuesto como respuesta josue_adalberto viernes, 24 de agosto de 2012 21:15
    viernes, 6 de julio de 2012 17:13
  • Mi pana exelente respuesta vale..:!!! me sirvio mucho estuve buscando bastante tiempo y con solo tres lineas de codigo lo hice...!!

    lo hice de la manera siguiente..

    en el textchanged de mi textbox

            Dim filt
            filt = String.Format("nombre Like '{0}%'", txtbuscar.Text)

            InvgeneralBindingSource.Filter = filt

    esto es porq utilizo el bindingsource>>> osea reemplazo del datagridview1.rowfilter

    utilizo vb.net 2005.. saludos

    viernes, 3 de agosto de 2012 16:48