Buscar valor en una columna especifica del DataGridView

Favor su apoyo en el siguiente código, necesito Buscar un valor en una columna especifica del DataGridView. La columna se llama ("Material"). La base de datos la tengo en MySql. Adjunto código que tengo y me busca en todas las columnas. Gracias de antemano por su apoyo.

Private Sub TextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox2.KeyPress
        For i As Integer = 0 To DataGridView1.Rows.Count - 2
            For x As Integer = 0 To DataGridView1.ColumnCount - 1
                If DataGridView1.Rows(i).Cells(x).Value.ToString.Contains(TextBox2.Text) Then
                    DataGridView1.Rows(2).Selected = True
                    Exit Sub
                End If
            Next x
        Next i
        MsgBox("ERROR: No es el producto")
        TextBox2.Text = ""
    End Sub

1 respuesta

Respuesta
1

¿El código que tiene no funciona o cual es el detalle con su búsqueda?

Necesito que me busque en una columna especifica ("Material") del DataGriedView, que acepte números, textos y pinte toda la fila al hallar el valor del "Material". Con el código que adjunte me busca en todas las columnas, no pinta toda la fila hallada y solo acepta números no texto, eso quiero corregir.

Puede compartir una imagen de su DataGridView para tratar de reproducir sus datos y el valor que tiene Textbox2. Tex

Imports System.Data
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient
Imports System.Data.OleDb
Public Class Buscar
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim consulta As String
        Dim lista As Byte
        Dim conexion As MySqlConnection = New MySqlConnection
        Dim comando As MySqlCommand = New MySqlCommand
        Dim adaptador As New MySqlDataAdapter
        Dim datos As DataSet
        comando.Connection = conexion
        conexion.ConnectionString = "server=192.185.154.34;database=invnesmc_VA05;Uid=invnesmc_VA05;pwd=123456;"
        conexion.Open()
        If TextBox1.Text <> "" Then
            consulta = "SELECT * FROM VA05 WHERE Documento = '" & TextBox1.Text & "'"
            adaptador = New MySqlDataAdapter(consulta, conexion)
            datos = New DataSet
            adaptador.Fill(datos, "VA05")
            lista = datos.Tables("VA05").Rows.Count
        End If
        If lista <> 0 Then
            DataGridView1.DataSource = datos
            DataGridView1.DataMember = "VA05"
            DataGridView1.Columns.Item("Documento").Visible = True
            DataGridView1.Columns.Item("Posición").Visible = False
            DataGridView1.Columns.Item("Nº_de_reparto").Visible = False
            DataGridView1.Columns.Item("Selección").Visible = False
            DataGridView1.Columns.Item("Denominación").Visible = False
            DataGridView1.Columns.Item("Clase_doc_ventas").Visible = False
            DataGridView1.Columns.Item("Fecha_documento").Visible = False
            DataGridView1.Columns.Item("Cantidad_confirmada").Visible = False
            DataGridView1.Columns.Item("Nº_pedido_cliente").Visible = False
            DataGridView1.Columns.Item("Nº_de_pedido").Visible = False
            DataGridView1.Columns.Item("Lote").Visible = False
            DataGridView1.Columns.Item("Válido_de").Visible = False
            DataGridView1.Columns.Item("Validez_a").Visible = False
            DataGridView1.Columns.Item("Fecha_de_entrega").Visible = False
            DataGridView1.Columns.Item("Creado_por").Visible = False
            DataGridView1.Columns.Item("Bloqueo_de_factura").Visible = False
            DataGridView1.Columns.Item("Solicitante").Visible = False
            DataGridView1.Columns.Item("Tp_cambio").Visible = False
            DataGridView1.Columns.Item("Cantidad_de_pedido").Visible = True
            DataGridView1.Columns.Item("Almacén").Visible = False
            DataGridView1.Columns.Item("Bloqueo_entrega").Visible = False
            DataGridView1.Columns.Item("Material").Visible = True
            DataGridView1.Columns.Item("Unidad_medida_base").Visible = False
            DataGridView1.Columns.Item("Nombre_1").Visible = False
            DataGridView1.Columns.Item("Precio_cliente_prev").Visible = False
            DataGridView1.Columns.Item("PC_Cantidad_base").Visible = False
            DataGridView1.Columns.Item("UM_precio_cliente").Visible = False
            DataGridView1.Columns.Item("Moneda_condición").Visible = False
            DataGridView1.Columns.Item("Precio_neto").Visible = False
            DataGridView1.Columns.Item("Cantidad_base").Visible = False
            DataGridView1.Columns.Item("Unidad_de_medida").Visible = False
            DataGridView1.Columns.Item("Valor_neto").Visible = False
            DataGridView1.Columns.Item("Valor_neto1").Visible = False
            DataGridView1.Columns.Item("Sector").Visible = False
            DataGridView1.Columns.Item("Status").Visible = False
            DataGridView1.Columns.Item("Status1").Visible = False
            DataGridView1.Columns.Item("Oficina_de_ventas").Visible = False
            DataGridView1.Columns.Item("Grupo_de_vendedores").Visible = False
            DataGridView1.Columns.Item("Organización_ventas").Visible = False
            DataGridView1.Columns.Item("Un_medida_venta").Visible = False
            DataGridView1.Columns.Item("Pto_expedic_Pto_recepción").Visible = False
            DataGridView1.Columns.Item("Canal_distribución").Visible = False
            DataGridView1.Columns.Item("Fecha_salida_mcías").Visible = False
            DataGridView1.Columns.Item("Moneda_del_documento").Visible = False
            DataGridView1.Columns.Item("Centro").Visible = False
            DataGridView1.Columns.Item("Cantidad_pedido").Visible = False
            DataGridView1.Columns.Item("Denominación1").Visible = False
            DataGridView1.Columns.Item("Motivo_pedido").Visible = False
            DataGridView1.Columns.Item("Motivo_de_rechazo").Visible = False
            DataGridView1.Columns.Item("Probabilidad").Visible = False
            DataGridView1.Columns.Item("Direc_solicitante").Visible = False
            DataGridView1.Columns.Item("Tipo_doc_comercial").Visible = False
            DataGridView1.Columns.Item("Indicador_Debe_Haber").Visible = False
            DataGridView1.Columns.Item("Niv_lista").Visible = False
            DataGridView1.Columns.Item("Fecha_de_precio").Visible = False
            DataGridView1.Columns.Item("Fecha_de_conversión").Visible = False
            DataGridView1.Columns.Item("Fecha_de_conversión1").Visible = False
            DataGridView1.Columns.Item("Tipo_de_cotización").Visible = False
            DataGridView1.Columns.Item("Segmento_necesidad").Visible = False
            DataGridView1.Columns.Item("Periodo_validez").Visible = False
            DataGridView1.Columns.Item("Un_per_val_contrato").Visible = False
            DataGridView1.Columns.Item("Categoría_de_validez").Visible = False
            DataGridView1.Columns.Item("Fecha_de_instalación").Visible = False
            DataGridView1.Columns.Item("Fecha_de_aceptación").Visible = False
            DataGridView1.Columns.Item("Concert_contrato").Visible = False
            DataGridView1.Columns.Item("Esquema_de_rescisión").Visible = False
            DataGridView1.Columns.Item("Actividad").Visible = False
            DataGridView1.Columns.Item("Entrada_rescisión").Visible = False
            DataGridView1.Columns.Item("Fe_prefer_rescisión").Visible = False
            DataGridView1.Columns.Item("Parte_rescindente").Visible = False
            DataGridView1.Columns.Item("Motivo_de_rescisión").Visible = False
            DataGridView1.Columns.Item("Documento_rescisión").Visible = False
            DataGridView1.Columns.Item("Fe_doc_rescisión").Visible = False
            DataGridView1.Columns.Item("Fecha_desmontaje").Visible = False
            DataGridView1.Columns.Item("Fecha_actividad").Visible = False
            DataGridView1.Columns.Item("Actividad1").Visible = False
            DataGridView1.Columns.Item("Denominación2").Visible = False
            DataGridView1.Columns.Item("Zona_de_ventas").Visible = False
            DataGridView1.Columns.Item("Condición_expedición").Visible = False
            DataGridView1.Columns.Item("Denominación3").Visible = False
            DataGridView1.Columns.Item("Representante_de_Ventas").Visible = False
            DataGridView1.Columns.Item("Tipo_de_posición").Visible = False
            DataGridView1.Columns.Item("Creado_el").Visible = False
            DataGridView1.Columns.Item("Hora").Visible = False
        Else
            MsgBox("Datos no encontrados")
        End If
    End Sub
    Private Sub TextBox2_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox2.KeyPress
        For i As Integer = 0 To DataGridView1.Rows.Count - 2
            For x As Integer = 0 To DataGridView1.ColumnCount - 1
                If DataGridView1.Rows(i).Cells(x).Value.ToString.Contains(TextBox2.Text) Then
                    DataGridView1.Rows(2).Selected = True
                    Exit Sub
                End If
            Next x
        Next i
        MsgBox("ERROR: No es el producto")
        TextBox2.Text = ""
    End Sub
End Class

Perdón su DataGridView lo necesito con datos y el valor del Textbox2. text para ver el dato a buscar en que columna se encentra

Modificando el código ya selecciona la fila al encontrar el dato buscado, la prueba que hice fue buscar el dato en la columna (0), usted cambie por la columna donde tiene el dato a buscar

        For i As Integer = 0 To DataGridView1.Rows.Count - 2
            If DataGridView1.Rows(i).Cells(0).Value.ToString.Contains(TextBox2.Text) Then
                DataGridView1.Rows(i).Selected = True
                Exit Sub
            End If
        Next i
        MsgBox("ERROR: No es el producto")
        TextBox2.Text = ""

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas