LOCALIZAR NO DATAGRIDVIEW
Bom Dia
Tenho uma lista de clientes no Data GridView
Tenho um campo que pode ser digitado o código do cliente ou o nome ou parte do nome.
como eu faço para ao digitar neste campo a linha do data gridview seja a qual tenha o que foi digitado. ?
é uma busca no datagridview
Obrigado
Tenho uma lista de clientes no Data GridView
Tenho um campo que pode ser digitado o código do cliente ou o nome ou parte do nome.
como eu faço para ao digitar neste campo a linha do data gridview seja a qual tenha o que foi digitado. ?
é uma busca no datagridview
Obrigado
Meu caro...tenta assim no evento change do Text que pode digitar
SqlString = [Ô]Select * From CadCli Where Coidigo = [Ô] & TxtBusca.Text & [Ô] Order By Codigo[Ô] [ô]no caso para o código
Adors = New DataSet
AdoAdap = New SqlDataAdapter(SqlString, Conn)
AdoAdap.Fill(Adors, [Ô]Tabela[Ô])
AdoView = Adors.Tables([Ô]Tabela[Ô]).DefaultView
DataGridView.DataSource = AdoView
boa sorte
Consegui em partes como abaixo
No evento Keydow do campo Busca
Select Case e.KeyCode
Case Keys.Enter
Dim Texto As String = Nothing
If Busca.Text <> String.Empty Then
For Each linha As DataGridViewRow In DataGridView1.Rows
For Each celula As DataGridViewCell In DataGridView1.Rows(linha.Index).Cells
If celula.ColumnIndex = 1 Then
Texto = celula.Value.ToString.ToLower
If Texto.Contains(Busca.Text.ToLower) Then
DataGridView1.Rows(celula.RowIndex).Selected = True
Exit Sub
End If
End If
Next
Next
End If
Case Keys.Escape Or Keys.Delete
End Select
O babado agora é que só acha se digitar o nome completo
e eu queria parte do nome Tipo se digitar josé traga todos os josés da coluna cliente
e do jeito que está ele busca no grid inteiro
se eu digitar josé Maria e tiver uma rua com josé maria ele vai selecionar o primeiro josé maria que pode sera rua e não o cliente.
No evento Keydow do campo Busca
Select Case e.KeyCode
Case Keys.Enter
Dim Texto As String = Nothing
If Busca.Text <> String.Empty Then
For Each linha As DataGridViewRow In DataGridView1.Rows
For Each celula As DataGridViewCell In DataGridView1.Rows(linha.Index).Cells
If celula.ColumnIndex = 1 Then
Texto = celula.Value.ToString.ToLower
If Texto.Contains(Busca.Text.ToLower) Then
DataGridView1.Rows(celula.RowIndex).Selected = True
Exit Sub
End If
End If
Next
Next
End If
Case Keys.Escape Or Keys.Delete
End Select
O babado agora é que só acha se digitar o nome completo
e eu queria parte do nome Tipo se digitar josé traga todos os josés da coluna cliente
e do jeito que está ele busca no grid inteiro
se eu digitar josé Maria e tiver uma rua com josé maria ele vai selecionar o primeiro josé maria que pode sera rua e não o cliente.
Assim, mas coloca no evento chance do Text
SqlString = [Ô]Select * From CadCli Where Nome= [ô] [Ô] & TxtBusca.Text & [Ô] % [ô] Order By Nome[Ô] [ô]no caso para o nome
Adors = New DataSet
AdoAdap = New SqlDataAdapter(SqlString, Conn)
AdoAdap.Fill(Adors, [Ô]Tabela[Ô])
AdoView = Adors.Tables([Ô]Tabela[Ô]).DefaultView
DataGridView.DataSource = AdoView
vai preencher seu grid somente com os nomes que começam com as letras q vc digitar no txtBusca
boa sorte
Fiz um exemplo que seleciona as linhas:
Tópico encerrado , respostas não são mais permitidas