Jump to content
TheSkytalos

Pesquisa em DataGridView

Recommended Posts

TheSkytalos

Eu já procurei pelo google e vários fóruns a resposta, ou seja, me direcionar para outros tópicos não vai resolver meu problema.

Queria também ressaltar que sou novato, estou começando com Banco de Dados agora...

Tenho uma conexão muito simples com o Access, ela carrega os dados na DataGridView, gostaria de saber como eu faço uma pesquisa no DataGridView por meio de uma textbox(textchanged) se possível.

Obrigado.

Share this post


Link to post
Share on other sites
HQuintas

Vê se é isto que queres

    Dim str As String
    For Each linha As DataGridViewRow In DataGridView1.Rows
	    If Not linha.IsNewRow Then
		    str = UCase(linha.Cells("nome").Value.ToString)
		    If str.Contains(TxtProcura.Text.ToUpper) Then
			    DataGridView1.CurrentCell = linha.Cells("nome")
			    If MsgBox("Continuar?", MsgBoxStyle.YesNo) = MsgBoxResult.No Then
				    Exit Sub
			    End If
		    End If
	    End If
    Next
    MsgBox("Fim procura.")

Share this post


Link to post
Share on other sites
TheSkytalos

HQuintas,

Obrigado pela resposta, mas ele me apresenta o seguinte erro quando vou pesquisar:

ArgumentException was unhandled.

Não foi possível encontrar a coluna denominada Nome.

Nome do parâmetro: columnName

Acontece que, existe a coluna chamada "Nome" e eu renomeei os componentes no teu código.

Share this post


Link to post
Share on other sites
bioshock

O código do @HQuintas é o fim do mundo, quando podes utilizar a sugestão do @nelsonr, muito mais prática e eficiente.

Share this post


Link to post
Share on other sites
TheSkytalos

dv.RowFilter = "Server like '%" + textBox1.Text + "%'";
dataGridView1.DataSource = dv;

Ok, mas tenho umas dúvidas:

o que seria este Server like? o "+" para VB.NET substituindo-o fica um "&", correto?

e o que seria este '%" e "%'"

Quando eu disse que era extremamente novato em programação, eu estava falando sério :)

Obrigado.

Share this post


Link to post
Share on other sites
TheSkytalos

Dim dv As DataView = DizimistasDataGridView.DataSource
dv.RowFilter = "Nome LIKE '%" & txtPesquisa.Text & "%'"
DizimistasDataGridView.DataSource = dv

Ficou desta maneira, não apresenta nenhum erro de sintaxe, mas quando vou pesquisar ele me apresenta o seguinte erro: Não é possível converter um objeto do tipo 'System.Windows.Forms.BindingSource' no tipo 'System.Data.DataView'.

É, acredito que eu tenha cometido um erro grosseiríssimo,

Obrigado.

Edited by TheSkytalos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.