2012-11-29 1 views
4

Il est possible d'effectuer un défilement automatique lorsque j'ajoute une valeur à une cellule sous la dernière ligne visible sur le formulaire? Je ne trouve aucune propriété de défilement automatique dans DataGridView. Est-ce que la seule façon possible de faire ceci pour trouver l'index de la dernière cellule visible et change FirstDisplayedScrollingRowIndex?Défilement automatique dans DataGridView

Répondre

5

Vous pouvez utiliser la propriété FirstDisplayedCell pour afficher cette cellule.
Puisque vous savez quelle cellule vous avez ajouté la valeur, vous pouvez le faire comme ceci:

dataGridView1.FirstDisplayedCell = yourCell 
+1

Merci, c'est plus pratique. Mais comment déterminer quelle cellule est visible sur l'écran, et qui - non? – spyder

1

pouvez essayer cela,

gv.FirstDisplayedCell = gv.Rows[gv.Rows.Count - 1].Cells[0]; 
1

Ces 3 lignes sont vraiment équivalent à un défilement automatique vers le bas

System.Int16 i_NotDisplayableRowCount = dataGridView1.RowCount - dataGridView1.DisplayedRowCount(false); // false means partial rows are not taken into acount 
if (i_NotDisplayableRowCount > 0) 
    dataGridView1.FirstDisplayedScrollingRowIndex = i_NotDisplayableRowCount;