PESQUISAR COM TEXTBOX E BOTÃO NO DATAGRIDVIEW

SANROMAN 19/08/2014 18:04:11
#440599
Olá amigos,


Tenho um DataGridView criado via código. Segue código abaixo.

[code=vbnet] With dgvContaCorrente

.DefaultCellStyle.Font = New Font([Ô]SegoiUI[Ô], 8.75, FontStyle.Regular)
.GridColor = Color.LightGray
.BorderStyle = BorderStyle.Fixed3D
.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.None
.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None
.BackgroundColor = Color.White
.ColumnCount = 5
.AutoGenerateColumns = False
.Columns(0).Name = [Ô]Data[Ô]
.Columns(1).Name = [Ô]Nº Doc[Ô]
.Columns(2).Name = [Ô]Descrição[Ô]
.Columns(3).Name = [Ô]Déb/Créd[Ô]
.Columns(4).Name = [Ô]Valor[Ô]
.Columns(0).Width = 85
.Columns(1).Width = 70
.Columns(2).Width = 219
.Columns(3).Width = 70
.Columns(4).Width = 100
.Columns(4).DefaultCellStyle.Format = [Ô]N[Ô]
.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False

End With

dtTX = dsTX.Tables(0)

For Each linha As DataRow In dtTX.Rows
dgvContaCorrente.Rows.Add(linha(0), linha(1), linha(2), linha(3), linha(4))
Next[/code]

Para pesquisar no DataGridView estou usando o seguinte código do amigo NILSONTRES:

[code=vbnet] Dim I As Integer
For I = 0 To dgvContaCorrente.Rows.Count - 1
If dgvContaCorrente.Rows(I).Cells(2).Value.ToString.ToUpper.Contains(txtPesquisaCH.Text.ToUpper) Then
dgvContaCorrente.Rows(I).Selected = True
dgvContaCorrente.FirstDisplayedScrollingRowIndex = I
Exit For
End If
Next[/code]

Ele retorna a primeira linha do datagridview que coincida com o texto inserido na textbox.

Ai mora o problema, gostaria que retornasse todas a linhas que coincidam com o texto inserido no textbox.

Espero que possam me ajudar com esse problema.
SANROMAN 20/08/2014 16:09:36
#440620
Olá amigos

Consegui resolver meu problema com a pesquisa no datagridview. O código ficou assim:

[code=vbnet]Private Sub pesquisaCH()

limpaTexto()
dgvContaCorrente.Visible = True
dgvContaCorrente.Size = New Size(604, 177)
grbVisualCH.Text = [Ô]DISPLAY[Ô]

Dim sqlCon As New SqlConnection(strCmd)
Dim strSql As String = [Ô]SELECT BomPara, NumeroCheque, Favorecido, Compensado, Valor [Ô] & _
[Ô]FROM TB_Cheque [Ô] & _
[Ô]WHERE TB_Cheque.Banco = [ô][Ô] & txtBancoPrincipal.Text & [Ô][ô] [Ô] & _
[Ô]AND Favorecido LIKE [ô]%[Ô] & Me.txtPesquisaCH.Text & [Ô]%[ô][Ô] & _
[Ô]OR NumeroCheque LIKE [ô]%[Ô] & Me.txtPesquisaCH.Text & [Ô]%[ô][Ô] & _
[Ô]ORDER BY BomPara DESC[Ô]

Dim sqlCmd As New SqlCommand(strSql, sqlCon)
Dim daCH As New SqlDataAdapter(sqlCmd)
Dim dtCH As DataTable = New DataTable([Ô]ContaCorrente[Ô])
Dim dsCH As DataSet = New DataSet
dgvContaCorrente.Columns.Clear()

daCH.Fill(dsCH)

With dgvContaCorrente

.DefaultCellStyle.Font = New Font([Ô]SegoiUI[Ô], 8.75, FontStyle.Regular)
.GridColor = Color.LightGray
.BorderStyle = BorderStyle.Fixed3D
.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.None
.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.None
.BackgroundColor = Color.White
.ColumnCount = 5
.AutoGenerateColumns = False
.Columns(0).Name = [Ô]Data Comp[Ô]
.Columns(1).Name = [Ô]Nº Doc[Ô]
.Columns(2).Name = [Ô]Favorecido[Ô]
.Columns(3).Name = [Ô]Comp.[Ô]
.Columns(4).Name = [Ô]Valor[Ô]
.Columns(0).Width = 80
.Columns(1).Width = 80
.Columns(2).Width = 220
.Columns(3).Width = 62
.Columns(4).Width = 100
.Columns(4).DefaultCellStyle.Format = [Ô]N[Ô]
.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns(1).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
.AllowUserToAddRows = False
.AllowUserToDeleteRows = False
.AllowUserToOrderColumns = False
.AllowUserToResizeColumns = False
.AllowUserToResizeRows = False

End With

dtCH = dsCH.Tables(0)

For Each linha As DataRow In dtCH.Rows
dgvContaCorrente.Rows.Add(linha(0), linha(1), linha(2), linha(3), linha(4))
Next
End Sub[/code]

Bastava usar LIKE na minha consulta ao Banco de Dados.

Estou dando como encerrado o tópico.

Até a próxima.
Tópico encerrado , respostas não são mais permitidas