Comment peut-on aller d'une ligne à l'autre dans un datagridview, sans
utiliser la souris ?
La propriété CurrentRow n'est qu'en lecture seule. Je ne peux donc pas
écrire :
-------------------------------------------------------
Me.DataGridViewRow.CurrentRow=ThisRow
-------------------------------------------------------
C'est pourtant ce que je voudrais simuler.
A défaut d'une méthode rapide, j'ai écrit :
-------------------------------------------------------
Sub GotoFilm (id_film)
For Each row As DataGridViewRow In DataGridView1.Rows
If CType(row.Cells("id_film").Value, Integer) = id_film Then
DataGridView1.FirstDisplayedScrollingRowIndex = row.Index
DataGridView1.Rows(row.Index).Selected = True
DataGridView1.Select()
Exit For
End If
Next
End Sub
-------------------------------------------------------
Je suis sûr qu'il y a plus rapide et plus élégant. D'autre part en me posant
ainsi sur la rangée, l'évènement RowEnter ne se produit pas.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bob Develd
Je me réponds à moi-même : Il faut utiliser CurrencyManager !
"Bob Develd" a écrit dans le message de news: 47f15451$0$842$
Comment peut-on aller d'une ligne à l'autre dans un datagridview, sans utiliser la souris ? La propriété CurrentRow n'est qu'en lecture seule. Je ne peux donc pas écrire : ------------------------------------------------------- Me.DataGridViewRow.CurrentRow=ThisRow ------------------------------------------------------- C'est pourtant ce que je voudrais simuler.
A défaut d'une méthode rapide, j'ai écrit : ------------------------------------------------------- Sub GotoFilm (id_film) For Each row As DataGridViewRow In DataGridView1.Rows If CType(row.Cells("id_film").Value, Integer) = id_film Then DataGridView1.FirstDisplayedScrollingRowIndex = row.Index DataGridView1.Rows(row.Index).Selected = True DataGridView1.Select() Exit For End If Next End Sub ------------------------------------------------------- Je suis sûr qu'il y a plus rapide et plus élégant. D'autre part en me posant ainsi sur la rangée, l'évènement RowEnter ne se produit pas.
Merci de bien vouloir me répondre.
Je me réponds à moi-même :
Il faut utiliser CurrencyManager !
"Bob Develd" <bob.deweld@wanadoo.fr> a écrit dans le message de news:
47f15451$0$842$ba4acef3@news.orange.fr...
Comment peut-on aller d'une ligne à l'autre dans un datagridview, sans
utiliser la souris ?
La propriété CurrentRow n'est qu'en lecture seule. Je ne peux donc pas
écrire :
-------------------------------------------------------
Me.DataGridViewRow.CurrentRow=ThisRow
-------------------------------------------------------
C'est pourtant ce que je voudrais simuler.
A défaut d'une méthode rapide, j'ai écrit :
-------------------------------------------------------
Sub GotoFilm (id_film)
For Each row As DataGridViewRow In DataGridView1.Rows
If CType(row.Cells("id_film").Value, Integer) = id_film Then
DataGridView1.FirstDisplayedScrollingRowIndex = row.Index
DataGridView1.Rows(row.Index).Selected = True
DataGridView1.Select()
Exit For
End If
Next
End Sub
-------------------------------------------------------
Je suis sûr qu'il y a plus rapide et plus élégant. D'autre part en me
posant ainsi sur la rangée, l'évènement RowEnter ne se produit pas.
Je me réponds à moi-même : Il faut utiliser CurrencyManager !
"Bob Develd" a écrit dans le message de news: 47f15451$0$842$
Comment peut-on aller d'une ligne à l'autre dans un datagridview, sans utiliser la souris ? La propriété CurrentRow n'est qu'en lecture seule. Je ne peux donc pas écrire : ------------------------------------------------------- Me.DataGridViewRow.CurrentRow=ThisRow ------------------------------------------------------- C'est pourtant ce que je voudrais simuler.
A défaut d'une méthode rapide, j'ai écrit : ------------------------------------------------------- Sub GotoFilm (id_film) For Each row As DataGridViewRow In DataGridView1.Rows If CType(row.Cells("id_film").Value, Integer) = id_film Then DataGridView1.FirstDisplayedScrollingRowIndex = row.Index DataGridView1.Rows(row.Index).Selected = True DataGridView1.Select() Exit For End If Next End Sub ------------------------------------------------------- Je suis sûr qu'il y a plus rapide et plus élégant. D'autre part en me posant ainsi sur la rangée, l'évènement RowEnter ne se produit pas.