DATAGRIDVIEW
Olá.Estou com um problema neste código para Pesquisa em datagridView , alguem pode me ajudar?
[ô]Texto que representará o valor da célula do grid
Dim txt As String = Nothing
[ô] Percorre linha por linha da grid
For Each row As DataGridViewRow In dgvClientes.Rows
[ô] Percorre cada celula da linha
For Each cell As DataGridViewCell In dgvClientes.Rows(row.Index).Cells
[ô] Se a caixa de texto nao estiver vazia prossegue, caso não tira a seleção da linha do grid
IF txtPesquisa.Text <> [Ô][Ô] Then
[ô] Se for a primeira coluna, no caso a coluna Nome
If cell.ColumnIndex = 0 Then
[ô] Atribui a valor a variável txt, passando tudo convertido para minúsculo
txt = cell.Value.ToString.ToLower
[ô]Se essa variavel tiver caracteres que corresponde ao da pesquisa no texto, também convertido para o minusculo
If txt.Contains(txtPesquisa.Text.ToLower) Then
[ô]Faz o teste para ver se o valor da celula comeca com o mesmo valor da pesquisa, caso sim, seleciona a linha do grid
If txt.StartsWith(txtPesquisa.Text.ToLower.Substring(0, txtPesquisa.Text.Length)) Then
Me.dgvClientes.Rows(cell.RowIndex).Selected = True
End If
End If
End If
Else
Me.dgvClientes.Rows(cell.RowIndex).Selected = False
End If
Next
Next
End Sub
[ [txt-color=#0000f0] [/txt-color]
[ô]Texto que representará o valor da célula do grid
Dim txt As String = Nothing
[ô] Percorre linha por linha da grid
For Each row As DataGridViewRow In dgvClientes.Rows
[ô] Percorre cada celula da linha
For Each cell As DataGridViewCell In dgvClientes.Rows(row.Index).Cells
[ô] Se a caixa de texto nao estiver vazia prossegue, caso não tira a seleção da linha do grid
IF txtPesquisa.Text <> [Ô][Ô] Then
[ô] Se for a primeira coluna, no caso a coluna Nome
If cell.ColumnIndex = 0 Then
[ô] Atribui a valor a variável txt, passando tudo convertido para minúsculo
txt = cell.Value.ToString.ToLower
[ô]Se essa variavel tiver caracteres que corresponde ao da pesquisa no texto, também convertido para o minusculo
If txt.Contains(txtPesquisa.Text.ToLower) Then
[ô]Faz o teste para ver se o valor da celula comeca com o mesmo valor da pesquisa, caso sim, seleciona a linha do grid
If txt.StartsWith(txtPesquisa.Text.ToLower.Substring(0, txtPesquisa.Text.Length)) Then
Me.dgvClientes.Rows(cell.RowIndex).Selected = True
End If
End If
End If
Else
Me.dgvClientes.Rows(cell.RowIndex).Selected = False
End If
Next
Next
End Sub
[
Boa noite,
Qual o problema?
Qual o problema?
O problema é que a pesquisa nao esta sendo feita, porque esta aparecendo uma mensagem de erro neste seguinte código :
txt = cell.Value.ToString.ToLower
Este código ira atribuir um valor a variavel txt, passando tudo convertido para minúsculo .
Desculpa a Demora em responder ...
Obrigado ....
txt = cell.Value.ToString.ToLower
Este código ira atribuir um valor a variavel txt, passando tudo convertido para minúsculo .
Desculpa a Demora em responder ...
Obrigado ....
DEBY esse meu código abaixo faz um filtro, mantendo no datagridview apenas algo parecido com o que eu preciso.é como se fosse para refinar uma pesquisa já iniciada.
Campo2 é o nome de meu campo e contatos é o nome de minha tabela.
Veja se te ajuda:
Dim keywords As String = TextBox1.Text
ds.Tables([Ô]contatos[Ô]).DefaultView.RowFilter = [Ô]Campo2 Like [ô]%[Ô] & keywords & [Ô]%[ô] [Ô]
DataGridView1.Focus()
DataGridView1.Rows(0).Selected = True
Campo2 é o nome de meu campo e contatos é o nome de minha tabela.
Veja se te ajuda:
Dim keywords As String = TextBox1.Text
ds.Tables([Ô]contatos[Ô]).DefaultView.RowFilter = [Ô]Campo2 Like [ô]%[Ô] & keywords & [Ô]%[ô] [Ô]
DataGridView1.Focus()
DataGridView1.Rows(0).Selected = True
Olá GILBERTOJW, só gostaria de saber o que significa o ds.tables para que eu possa implementar no código .
Obrigado..
Obrigado..
Deve ser a trilhonésima vez que digo: Grid não é fonte de dados, pesquisas devem ser feitas no banco de dados. Ponto.
DEBY ds.Tables([Ô]contatos[Ô])
Onde contatos é o nome de minha tabela do banco de dados
Onde contatos é o nome de minha tabela do banco de dados
A quantidade de if nesse codigo assusta bastante rsrsrsrsrs
Entendi ... GILBERTOJW
Funcionou no seu caso ?
Sim, Mas aparece está mensagem : Referência de objeto não definida para uma instância de um objeto.
Faça seu login para responder