ERRO EM TEXTBOX DE PESQUISA NO DATAGRID
Mensagem interna
[Citar na resposta]
quando faço um pesquisa o pelo textbox na primera ver tenho o retorno no meu data grid na quando apago os dados da pesquisa tenho um erro :O Ãndice estava fora do intervalo. Ele deve ser não-negativo e menor que o tamanho da coleção.
Nome do parâmetro: index
o código onde da o erro é o seguinte
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
If keyData = Keys.Enter Then
If GridPesquisa.RowCount <> 0 Then
bcodigo = Me.GridPesquisa.SelectedCells(3).Value
[ô]MsgBox(bcodigo)
Me.Close()
Else
seleciona()
End If
Return True
Else
Return MyBase.ProcessCmdKey(msg, keyData)
End If
End Function
desde já obrigado

Bom dia Amigo...
não sei se te ajuda, pq vc teria que mudar um pouco seu código mais acho muito funcional e prático... para trabalhar com datagridview
1º vc declara uma variavel global
2º vc carrega seu datagrid assim:
3º No envento onKeyDown do seu textbox, digamos que vc esteja pesquisando o nome seria simplesmente assim
Substitua NOME pelo nome do campo da tabela que deseja fazer a pesquisa
Para remover o filtro basta utilizar o comando
Espero ter ajudado.
não sei se te ajuda, pq vc teria que mudar um pouco seu código mais acho muito funcional e prático... para trabalhar com datagridview
1º vc declara uma variavel global
Dim bs As BindingSource = New BindingSource
2º vc carrega seu datagrid assim:
bs.RemoveFilter()
Dim dTab As DataTable
dTab = [ô]Aqui é seria o retorno de uma função que faz o select e retorna um DataTable
bs.DataSource = dTab
dtGrid.DataSource = bs
dTab.dispose
3º No envento onKeyDown do seu textbox, digamos que vc esteja pesquisando o nome seria simplesmente assim
bs.filter =[Ô]NOME=[ô][Ô]& txtNome.text & [Ô][ô][Ô]
Substitua NOME pelo nome do campo da tabela que deseja fazer a pesquisa
Para remover o filtro basta utilizar o comando
bs.removefilter
Espero ter ajudado.
Tópico encerrado , respostas não são mais permitidas