none
Buscar dato en grid (gruilla) y seleccionar la fila de dicho dato

    Pregunta

  • Como dice el titulo de la pregunta, estoy tratando de hacer una búsqueda en un datagrid por medio de un botón (Buscar) y un textbox en el cual introduzco lo que quiero buscar.

    el grid no esta enlazado a ninguna base de datos, solamente se carga en tiempo de ejecución.

    Lo estoy desarrollando en vb.net


    Con este ciclo for busco lo que quiero:

           
      For Each Row As DataGridViewRow In MetroPrecios.Rows
                Dim strFila As [String] = Row.Index.ToString()
                Dim Valor As String = Convert.ToString(Row.Cells("Tarifa").Value)
    
                If Valor = Me.TextTarifa.Text Then
    
                    MetroPrecios.Rows(Convert.ToInt32(strFila)).DefaultCellStyle.BackColor = Color.Red
    
                End If
            Next

    el único inconveniente es que no me selecciona la fila encontrada, espero su grata ayuda :)

    jueves, 9 de febrero de 2017 0:07

Respuestas

  • Hola Jefry Zelaya,

    Tienes la propiedad SelectionMode a FullRowSelect ?

    En caso sea correcto para 'seleccionar' las filas solo tienes que cambiar la propiedad 'Selected' a True, pero antes limpiar las selección por default :

    Me.MetroPrecios.ClearSelection()
    
    For Each row As DataGridViewRow In MetroPrecios.Rows
        If CStr(row.Cells("Tarifa").Value).Equals(Me.TextTarifa.Text) Then
            'row.DefaultCellStyle.BackColor = Color.Red
            row.Selected = True
        End If
    Next

    Si solo buscas la primera fila que cumpla con la condición, bastaría con :

    For Each row As DataGridViewRow In MetroPrecios.Rows
        If CStr(row.Cells("Tarifa").Value).Equals(Me.TextTarifa.Text) Then
            'row.DefaultCellStyle.BackColor = Color.Red
            MetroPrecios.CurrentCell = MetroPrecios("Tarifa", row.Index)
            Return
        End If
    Next

    Resaltar resultados de búsqueda en DataGrid

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Propuesto como respuesta Willams Morales jueves, 9 de febrero de 2017 14:28
    • Marcado como respuesta Jefry Zelaya viernes, 10 de febrero de 2017 14:06
    jueves, 9 de febrero de 2017 0:33