ERRO EM TEXTBOX DE PESQUISA NO DATAGRID

AISLAN 20/06/2012 21:30:45
#404597

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

CALTABIANO 21/06/2012 10:38:43
#404619
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

 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