2010-03-27 6 views
0

J'ai un DataGridView sur le Windows Form en C#. Je suis en train de mettre à jour et de remplir l'adaptateur de table sur l'événement de cellule. Le problème est que lorsque je vais à la moitié inférieure de la grille de données qui n'est pas visible jusqu'à ce que je défile vers le bas, lorsque je clique sur une cellule, l'adaptateur de table est rempli et mis à jour et les pointeurs sur la toute première ligne. Toute suggestion sur la façon de le réparer. J'ai une idée pour enregistrer la ligne supérieure du datagridview qui est visible et mettre le pointeur sur cette ligne. Mais comment le faire?Comment définir le pointeur sur la ligne actuelle dans Datagridview en C#

+0

http://stackoverflow.com/questions/92008/programmatically-setting-the-record-pointer-in-a-c-sharp-datagridview Ici vous avez la réponse – NurAzije

Répondre

0

Avant le remplissage se produit, sauf la cellule actuelle:

DataGridViewCell selectedCell = dgv.CurrentCell; 

Puis, après le remplissage, mettez-le en arrière:

dgv.CurrentCell = selectedCell; 

Si vous ne vous inquiétez pas quelle cellule a été sélectionnée mais veulent juste pour faire défiler la vue à l'endroit où elle se trouvait avant le remplissage, vous pouvez utiliser la propriété FirstDisplayedCell à la place.

Je crois que cela fonctionnera, mais je ne les ai pas utilisés dans votre scénario exact (ce qui semble un peu funky).

Incidemment, il ya beaucoup d'événements sur le DataGridView, ce qui donne une grande flexibilité, mais vous devez lire attentivement les docs pour comprendre toutes vos options.

Questions connexes