none
DataGridView RRS feed

  • Pregunta

  • hola a todos. tengo un dato "123" en una variable y quiero encontrar uno igual o mayor en la colunma 10 de mi datagrid. Como hago para identificarlo y ver toda la fila???? 

    viernes, 16 de abril de 2021 21:39

Respuestas

  • Hola:
    Prueba algo como esto

        Private Sub btnBuscar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnBuscar.Click
            Dim lsCadBusqueda As String = Me.TextBox1.Text
            ' validaciones
            If String.IsNullOrEmpty(lsCadBusqueda) Then
                MessageBox.Show("Debe ingresar un valor a buscar", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return
            End If
            ' elimino la seleccion previa de las celdas
            For Each cell As DataGridViewCell In DataGridView1.SelectedCells
                cell.Selected = False
            Next
            ' aplico el filtro
            Dim rows As List(Of DataGridViewRow) = (From item In DataGridView1.Rows.Cast(Of DataGridViewRow)() Let nombre = Convert.ToString(If(item.Cells("NOMBRE").Value, String.Empty)) Where nombre.Contains(lsCadBusqueda) Select item).ToList()
            '
            For Each row As DataGridViewRow In rows
                Dim cells As List(Of DataGridViewCell) = (From item In row.Cells.Cast(Of DataGridViewCell)() Let cell = Convert.ToString(item.Value) Where cell.Contains(lsCadBusqueda) Select item).ToList()
                For Each item As DataGridViewCell In cells
                    item.Selected = True
                Next
            Next
        End Sub

    Un saludo desde Bilbo
    Carlos
    viernes, 16 de abril de 2021 22:20

Todas las respuestas

  • Hola:
    Prueba algo como esto

        Private Sub btnBuscar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnBuscar.Click
            Dim lsCadBusqueda As String = Me.TextBox1.Text
            ' validaciones
            If String.IsNullOrEmpty(lsCadBusqueda) Then
                MessageBox.Show("Debe ingresar un valor a buscar", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Return
            End If
            ' elimino la seleccion previa de las celdas
            For Each cell As DataGridViewCell In DataGridView1.SelectedCells
                cell.Selected = False
            Next
            ' aplico el filtro
            Dim rows As List(Of DataGridViewRow) = (From item In DataGridView1.Rows.Cast(Of DataGridViewRow)() Let nombre = Convert.ToString(If(item.Cells("NOMBRE").Value, String.Empty)) Where nombre.Contains(lsCadBusqueda) Select item).ToList()
            '
            For Each row As DataGridViewRow In rows
                Dim cells As List(Of DataGridViewCell) = (From item In row.Cells.Cast(Of DataGridViewCell)() Let cell = Convert.ToString(item.Value) Where cell.Contains(lsCadBusqueda) Select item).ToList()
                For Each item As DataGridViewCell In cells
                    item.Selected = True
                Next
            Next
        End Sub

    Un saludo desde Bilbo
    Carlos
    viernes, 16 de abril de 2021 22:20
  • Hola,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    viernes, 16 de abril de 2021 23:24
    Moderador