Chamuanza Posted May 23, 2009 at 06:41 PM Report #266796 Posted May 23, 2009 at 06:41 PM Oi pessoal Tenho este código que me faz a busca em uma coluna da Datagrid, funciona bem, mas como eu faço para que o ponteiro me salte para o valor igual seguinte, quando volto a clicar no botão de busca. Dim texto As String = Nothing If ToolStripTextBox1.Text <> String.Empty Then 'percorre cada linha do DataGridView For Each linha As DataGridViewRow In PrincipalDataGridView.Rows 'percorre cada célula da linha For Each celula As DataGridViewCell In PrincipalDataGridView.Rows(linha.Index).Cells 'se a coluna for a coluna 1 (Nome) então verifica o criterio If celula.ColumnIndex = 2 Then texto = celula.Value.ToString.ToLower 'se o texto informado estiver contido na célula então seleciona toda linha If texto.Contains(ToolStripTextBox1.Text.ToLower) Then 'seleciona a linha Me.PrincipalDataGridView.Rows(celula.RowIndex).Selected = True 'faz da seleção a linha currente Me.PrincipalDataGridView.CurrentCell = celula Exit Sub End If End If Next Next End If
jpaulino Posted May 23, 2009 at 10:39 PM Report #266828 Posted May 23, 2009 at 10:39 PM Olá, Guardas em uma variável privada (fora do sub) o index da linha encontrada, e na segunda pesquisa, verificas se a posição encontrada é igual ao index encontrado anteriormente, e caso seja, continuas a pesquisa. É mais ou menos isto!
Chamuanza Posted May 24, 2009 at 08:36 AM Author Report #266843 Posted May 24, 2009 at 08:36 AM Não consigo por em pratica a explicação tenho o codigo associado ao evento de um botão Fui Criar uma variavel Dim LinhaNum as Integer e antes do exit sub no codigo fiz: LinhaNum= Me.PrincipalDataGridView.Rows. e daqui não passo pois da-me erro não consigo encontrar evento para concluir a linha a fim de ir buscar o valor da RowIndex
jpaulino Posted May 24, 2009 at 08:51 AM Report #266844 Posted May 24, 2009 at 08:51 AM Deverá ser mais ou mesmos (não testei) LinhaNum = linha.RowIndex ou Index
Chamuanza Posted May 24, 2009 at 09:15 AM Author Report #266845 Posted May 24, 2009 at 09:15 AM de facto assim é LinhaNum = linha.Index mas faço uma pergunta Quando o evento chega ao exit sub não vai apagar o valor da variavel LinhaNum? Se assim for como e que verifico a condição?
jpaulino Posted May 24, 2009 at 09:34 AM Report #266847 Posted May 24, 2009 at 09:34 AM Vê este exemplo http://vbtuga.blogspot.com/2008/04/vbnet-implementar-pesquisas-em.html O sistema é o mesmo.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now