Filtrar un DataGridView de acuerdo a dos criterios

Tengo dos TextBox en un formulario, un botón de Búsqueda y un DataGridView. Como puedo hacerle para que al escribir dos datos en los TextBox por ejemplo "edad = 18" y "sexo = masc", el DatGridView me muestre los registros de las personas que cumplan el criterio, es decir, que sean del sexo masculino mayores de 18 años. Por una respuesta anterior, ¿puedo hacer comparativa de un textbox en una instrucción SQL pero que pasa si quiero hacer comparativa de dos textbox o de tres?.
Respuesta
1
Este es el ejemplo
Con el puedes filtrar más de dos campos
*-*********************************************
private void btnBUscar_Click(object sender, System.EventArgs e)
{
string filtrar="";
// primero obtengo los valores a filtar
// cuento con 3 campos en la tabla ID,Pais,Presidente
// cuento tambien con los 3 textbox pueden ser mas...
// cuento con el datagrid , ademas con un dataView
if(this.txtcampo1.Text.Length>0)
{
filtrar ="Id='"+this.txtcampo1.Text +"'";
}
if(this.txtcampo2.Text.Length>0)
{
if(filtrar.Length>0){ filtrar+=" and ";}
filtrar+="Pais ='" + this.txtcampo2.Text + "'";
}
if(this.txtcampo3.Text.Length>0)
{
if(filtrar.Length>0){ filtrar+=" and ";}
filtrar+="Presidente ='" + this.txtcampo3.Text +"'";
}
//ahora solamente establesco el filtro y lo aplico
this.dataView1.RowFilter=filtrar;
//ahora actualizo el datagrid
this.dataGrid1.Update();
}
*************************************
espero valoracion es muy importante
valoracion=5
Cualquier detalle o algo que no me explique házmelo saber
bueno bye

1 respuesta más de otro experto

Respuesta

Sergio te tengo la Solución a tu problema.

Te cuento también lo tenia pero ya solucione.

Te dejo el Código para que lo puedas examinar y verificar si tiene alguna consulta no dudes en preguntar

***********************

Function Buscar_Nombre(ByVal nombre As String, ByVal apellidos As String, ByVal dvg As DataGridView)
Dim consulta As Boolean = True
Try
Conexion_Global()
_adaptador = New MySqlDataAdapter("SELECT * from usuarios where Nombre like'" & nombre + "%" & "'and apellidos like'" & apellidos + "%" & "'", _conexion)
TABLA = New DataTable
_adaptador.Fill(TABLA)
dvg.DataSource = TABLA

Catch ex As MySqlException
MessageBox.Show(ex.ToString)
consulta = False
End Try
Return consulta
End Function

******************************

Creamos una Función no te confundas con la Conexión_Global la tengo en un modulo si requieres de ella me avisas.

El siguiente código se agrega en el código del Formulario .

******************************

Private Sub TextBox_nombre_TextChanged(sender As Object, e As EventArgs) Handles TextBox_nombre.TextChanged
Buscar_registros()
End Sub
Private Sub TextBox_apellidos_TextChanged(sender As Object, e As EventArgs) Handles TextBox_apellidos.TextChanged
Buscar_registros()
End Sub
Private Sub Buscar_registros()
consulta.Buscar_Nombre(TextBox_nombre.Text, TextBox_apellidos.Text, DataGridView_DB_Usuarios)
End Sub

******************************

Mucho Cuidado yo los dos códigos los tengo separados uno es una clase de consulta y el otro es donde esta el Formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas