Buscar y seleccionar un registro en un datagridview en visual 2008

Respuesta de
a
Usuario

hola experto tengo en un form un textbox , botón y un datagridview lo que deseo es simple consultar  un registro en la caja de texto y que en el datagridview que lo tengo lleno de registros lo busque y  seleccione la fila

tengo este procedimiento de consulta

Public Sub consultar_personal()
conectar()
cmd = New SqlCommand
dt.Clear()
cn.Open()
cmd.CommandText = "select codP,apaP,amaP,nomP,foto from personal2 where codP='" & TextBox1.Text & "'"
cmd.Connection = con
da.SelectCommand = cmd
da.Fill(dt)
If dt.Rows.Count = 0 Then
MsgBox("Registro No Existe")
Else
TextBox2.Text = dt.Rows(0).Item("codP")
TextBox3.Text = dt.Rows(0).Item("apaP")
TextBox4.Text = dt.Rows(0).Item("amaP")
TextBox5.Text = dt.Rows(0).Item("nomP")

---aquí iría mi código?

End If
cn.Close()
End Sub

espero que me hayas entendido gracias

Avatar
Experto

Estimado.

No entendí muy bien, tu quieres que pongan algo en la caja de texto y se busque en el DataGrid?

 

Saludos.

Eduardo.

Usuario

como veras tengo el procedimiento de consultar un registro

funciona así

pongo un registro (P0001) en textbox1 y apretando el botón me hace la consulta si existe el registro me muestra los datos en otra cajas (textbox2 a textbox5)de texto como su apellidos y nombres lo que requiero es que también me debe seleccionar la fila en donde se encuentre el registro en el datagridview..

Avatar
Experto

Estimado.

Aquí lo tienes:

 

http://www.recursosvisualbasic.com.ar/htm/vb-net/52-buscar-fila-en-datagridview.htm

 

 

Si tienes dudas me lo haces saber.

 

Saludos.

Eduardo.

Usuario

hola ya lo estuve revisando pero es mas complicado que no puedo guiarme,por otro lado estuve revisando una función que encontré que funciona casi el 100% de lo que requiero lo que hace es selecciona la fila pero no lo busca , uno mismo hay que buscar en el datagridview que fila ha seleccionado si concuerda con el código pero si lo hace , lo que le falta es que se posicione la fila seleccionada

te dejo la función para que lo veas

Function BuscarLINQ(ByVal Columna As String) As Boolean
Dim encontrado As Boolean = False
If TextBox1.Text = String.Empty Then Return False
If DataGridView1.RowCount = 0 Then Return False
DataGridView1.ClearSelection()
If Columna = String.Empty Then
Dim obj As IEnumerable(Of DataGridViewRow) = From row As DataGridViewRow In DataGridView1.Rows.Cast(Of DataGridViewRow)()
From celda As DataGridViewCell In row.Cells
Where celda.OwningRow.Equals(row) And celda.Value = TextBox1.Text
Select row
If obj.Any() Then
DataGridView1.Rows(obj.FirstOrDefault().Index).Selected = True
End If
Else
Dim obj As IEnumerable(Of DataGridViewRow) = From row As DataGridViewRow In DataGridView1.Rows.Cast(Of DataGridViewRow)()
Where row.Cells(Columna).Value = TextBox1.Text
Select row
If obj.Any() Then
DataGridView1.Rows(obj.FirstOrDefault().Index).Selected = True
End If
End If
Return encontrado
End Function

Usuario

modificando algunas cositas pude finalmente resolver el problema ok gracias por la ayuda