none
FILTRAR DATAGRIDVIEW C# RRS feed

  • Pregunta

  • Buenos Dias,

    TENGO PROBLEMAS PARA FILTRAR UN DATGRIDVIEW EN WINDOSFORM C#, YO USO UN METODO PARA LLENAR EL DATGRIDVIEW  EL CUAL LO LLAMO

    dtgConsulta, USO UN TEXBOX LLAMADO txtBuscar, pero he probado muchas de las formas que ilustran en este foro y la verdad llevo ya varios dias y no he podido hacer que funcione, soy nuevo en programacion y necesito ayuda. muchas gracias. anexo el metodo con que lleno el datagridview y como lo estoy fintando haber si alguen me puede ayudar... mil y mil gracias.

    //metodo para conectar y llenar cualquier datagridview esta en un modulo 
    public DataTable llenagrilla(String str)
            {
                iniciarBD();
                try
                {
                    //instancio y le asigno la cadena y el objeto de conexion
                    objda = new SqlDataAdapter(str, objcn);
                    //instancio el datatable
                    objdt = new DataTable();
                    //lleno el datatable
                    objda.Fill(objdt);
                    //Finalizo la conexion
                    finalBD();
                    return objdt;
                }
                catch
                {
                    return null;
                }
            }
    // Asi lleno el datagridview en el formulario
     private void txtBuscar_TextChanged(object sender, EventArgs e)
            {
                this.dtgConsulta.AutoGenerateColumns = false;
                dtgConsulta.DataSource = buscar.llenagrilla("SELECT PPRODUCTOS.CODPRODUCTO,PPRODUCTOS.NOMPRODUCTO,PTARIFAPRODUCTOS.VALORACTUAL,SUM(MKARDEX.CANTIDAD) AS STOK " +
                      " FROM PPRODUCTOS INNER JOIN PTARIFAPRODUCTOS ON PPRODUCTOS.CODPRODUCTO = PTARIFAPRODUCTOS.CODPRODUCTO " +
                      " INNER JOIN MKARDEX ON PPRODUCTOS.CODPRODUCTO = MKARDEX.CODPRODUCTO  WHERE PPRODUCTOS.NOMPRODUCTO LIKE ' " + txtBuscar.Text + "%'" +
                      " GROUP BY PPRODUCTOS.CODPRODUCTO,PPRODUCTOS.NOMPRODUCTO,PTARIFAPRODUCTOS.VALORACTUAL");
                this.dtgConsulta.Columns[0].DataPropertyName = "CODPRODUCTO";
                this.dtgConsulta.Columns[1].DataPropertyName = "NOMPRODUCTO";
                this.dtgConsulta.Columns[2].DataPropertyName = "VALORACTUAL";
                this.dtgConsulta.Columns[3].DataPropertyName = "STOK";  
               
            }

    EDINSON AGUILAR O.

    Estudiante de Progracion

    martes, 1 de mayo de 2012 17:12

Todas las respuestas

  • el gran problema que tienes es que estas concatenando en un string los parametros de la query, y eso esta muy mal

    deberias usar parametro, es mas el problema esta en que defines ese metodo llenagrilla() que desde mi punto de vista deberias eliminarlo

    deberias implementar algo como esto

    http://social.msdn.microsoft.com/Forums/es/vcses/thread/abdb4569-561c-4c73-8bac-710f07c35545

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 1 de mayo de 2012 23:27