Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

DataGridView

1 réponse
Avatar
Bob Develd
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.

1 réponse

Avatar
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.