2009-07-20 6 views
7

Comme une question similaire à this question, j'ai aussi une application avec un DataGridView dessus. Je voudrais positionner les lignes de sorte qu'une ligne spécifique soit au bas de la partie visible de la liste.Comment positionner un DataGridView sur une ligne spécifique (de sorte que la ligne sélectionnée soit en bas)?

Ceci est la réponse à un clic de bouton qui déplace une ligne d'une unité vers le bas. Je veux maintenir la sélection sur la rangée où je me déplace (j'ai déjà cette partie qui fonctionne). S'il y a beaucoup de lignes, la ligne sélectionnée peut se déplacer sous la zone visible. Je veux faire défiler vers le bas jusqu'à ce qu'il soit au bas de la zone visible.

Il ne semble pas y avoir de compagnon LastDisplayedScrollingRowIndex pour FirstDisplayedScrollingRowIndex.

Des idées? Merci.

Répondre

9

Comme ma propre estimation, je pense que j'ai besoin d'utiliser FirstDisplayedScrollingRowIndex et le nombre de lignes visibles dans le DataGridView pour calculer le nouveau FirstDisplayedScrollingRowIndex. Peut-être que j'ai juste besoin de savoir ce que la propriété NumberOfVisibleRows est appelée?

Trouvé. DisplayedRowCount:

Code testé et travaillant dans mon propre projet.

5

La méthode DisplayedRowCount vous indique le nombre de lignes affichées à l'écran. Définissez la valeur du paramètre sur true pour inclure des lignes partielles.

var displayedRows = myDataGridView.DisplayedRowCount(false); 
+0

Merci. Vous obtenez un upvote (même si je l'ai trouvé moi-même avant que j'ai vu votre réponse) mais je vais définir ma propre réponse comme acceptée, car il a un échantillon de code de travail. –

+0

J'étais sur le point d'élaborer ma réponse mais j'ai vu que vous avez trouvé la solution vous-même juste après avoir posté ceci ;-) –

Questions connexes