Hoy quiero compartir con ustedes un pequeño tutorial para realizar una búsqueda sencilla en un objeto de tipo DataGridView que no estará enlazado a una base de datos, para comenzar he creado un proyecto y le he agregado tres(3) controles con los que trabajaremos los cuales son:

  • TextBox: El cual recibirá el criterio para realizar la búsqueda, le he asignado un Name «TxtBuscar»
  • Button: El cual sera el encargado de ejecutar nuestro procedimiento, le he asignado un Name «BtnBuscar».
  • DataGridView: Es el objeto que contiene los datos donde realizaremos la búsqueda, le he asignado un Name «DGTabla»

Para comenzar en el «DGTabla» le he agregado tres (3) columnas con los siguientes nombres «Id», «Nombre» y «Apellido»; ademas ya le agregue también cinco (5) registros. Una vez terminada esta parte nos debe quedar el formulario así.

sshot-1

Ahora con nuestro formulario creado, haremos uso del ciclo «For Each» para realizar la búsqueda dentro del control «DGTabla», para movernos dentro de este objeto debemos recurrir a dos (2) propiedades del «DataGridView» como son:

  • DataGridViewRow: La cual nos permitirá recorrer las filas del objeto.
  • DataGridViewCell: La cual nos permitirá recorrer las celdas del objeto.

Y por ultimo también necesitaremos emplear el condicional «If» para validar la coincidencia entre el criterio de búsqueda y el registro en el control «DGTabla», ahora teniendo claro las instrucciones que utilizaremos, daremos doble clic al botón «BtnBuscar» para poder programa nuestro procedimiento e ingresaremos el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
':::Try Capturador de errores
 Try
    ':::Nos permite recorrer las filas del DGTabla
    For Each Row As DataGridViewRow In DGTabla.Rows
       ':::Nos permite recorrer las celdas del DGTabla
       For Each Cell As DataGridViewCell In Row.Cells
       ':::Validamos el registro del DGTabla contra el criterio de busqueda
          If Cell.Value.ToString = TxtBuscar.Text Then
          ':::Nos ubicamos en la celda que contiene el registro encontrado
          DGTabla.CurrentCell = Cell
          End If
       Next
    Next
 Catch ex As Exception
     MsgBox("No se puede realizar la búsqueda por: " & ex.Message)
 End Try

Como podemos observar en el código anterior lo que hacemos es ir de fila en fila y de celda en celda comparando el valor de cada celda con el criterio de búsqueda ingresado por el usuario.

sshot-2

Como vemos el procedimiento se ejecuta correctamente y deja seleccionada la celda que coincide con el criterio de búsqueda.

Cualquier duda estaré presto a colaborarles en todo lo que me este posible.

Buen día para todos.