Comment puis-je faire le DataGridView montrer la ligne sélectionnée?
J'ai besoin de la force de la DataGridView
pour montrer sélectionnés row
.
En bref, j'ai un textbox
que les changements de la DGV
sélection sur la base de ce qui est tapé dans la textbox
. Lorsque cela se produit, la sélection change de la correspondance row
.
Malheureusement, si le row
est hors de vue, je dois les faire défiler manuellement vers le bas pour trouver la sélection. Quelqu'un sait-il comment faire pour forcer la DGV
pour montrer sélectionnés row
?
Merci!
- Il suffit de régler le CurrentCell propriété, la DGV de défilement de le rendre visible.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir:
Ici est la La documentation MSDN sur cette propriété.
Ce on passe à la ligne sélectionnée sans le mettre sur le dessus.
DataGridView.FirstDisplayedScrollingRowIndex
, merci!dataGridView1.CurrentCell = dataGridView1.SelectedRows[0].Cells[0]
Considérer également ce code (utilise le competent_tech manière suggérée):
Juste la ligne après la sélection de la ligne:
visibleColumnIndex - cellule sélectionnée doit être visible
Veuillez noter que l'établissement FirstDisplayedScrollingRowIndex lorsque votre DataGridView n'est pas activée, faites défiler la liste pour ligne de votre choix, mais la barre de défilement ne reflète pas sa position. Plus simple solution est de ré-activation et désactivation de votre DGV.
//Cela fonctionne, il est sensible à la casse et de la recherche la première occurrence de recherche
De faire quelque chose comme ceci:
dataGridView1.CurrentCell = dataGridView1.Rows[index].Cells[0];
ne fonctionnera que si la première colonne est visible. S'il est masqué, vous aurez une exception. C'est plus sûr:
var column = dataGridView1.CurrentCell != null ?
dataGridView1.CurrentCell.ColumnIndex :
dataGridView1.FirstDisplayedScrollingColumnIndex;
dataGridView1.CurrentCell = dataGridView1.Rows[iNextHighlight].Cells[column];
Ceci permet de réinitialiser la sélection sans défilement si la ligne est déjà sur l'écran. Elle préserve également la colonne en cours au choix qui peut dans les cas où vous avez autorisé la modification en ligne.
J'ai fait la recherche suivante de la fonction, il fonctionne bien pour faire défiler les sélections à l'écran.
}