2009-08-25 3 views
1

J'ai DatGridView lié à BindingSource et j'essaye de le faire défiler vers le bas après avoir défini DataSource.Faites défiler par programme DataGridView jusqu'à la dernière ligne après l'avoir définie DataSource

La fonction MoveLast() de la source de liaison sélectionne la dernière ligne sélectionnée, mais elle ne défile pas vers le bas. J'ai essayé de définir FirstDisplayedScrollingRowIndex, mais il lève InvalidOperationException avec un message "Aucune pièce n'est disponible pour afficher des lignes". Lorsque j'appelle MoveLast ou que je modifie FirstDisplayedScrollingRowIndex plus tard, par exemple dans l'événement click button, cela fonctionne bien, mais je souhaite ouvrir une nouvelle fenêtre avec la dernière ligne de DataGridView définie comme étant active et visible par l'utilisateur.

Répondre

3

Cela ressemble à votre appel FirstDisplayedScrollingRowIndex dans le constructeur? Essayez de le faire dans l'événement de chargement du formulaire. Dernier recours, vous pouvez le faire dans l'événement Activate et définir un indicateur pour qu'il ne s'exécute qu'une fois que le formulaire est terminé.

0

Utilisez la méthode "scrollToRowAtIndexPath: atScrollPosition: animated" de la table.

vous pouvez donc l'utiliser comme:

[self.table scrollToRowAtIndexPath: indexPath atScrollPosition: UIScrollPositionMiddle animé: oui]; "AtScrollPosition" vous indique où vous voulez que la ligne sélectionnée défile à l'écran. Vous pouvez sélectionner UIScrollPositionTop, UIScrollPositionMiddle ou UIScrollPositionBottom. Le champ "animé" indique simplement si vous voulez que le défilement soit animé comme il le fait, ou juste qu'il apparaisse tout de suite, je crois.

Vous pouvez créer votre propre indexPath si vous avez besoin: [NSIndexPath indexPathForRow: (numéro de ligne ou valeur entière) lasection: 0]

« lasection » serait la section que vous voulez le chemin, si vous ne en avoir un, il suffit de mettre 0. La plupart des tables ont seulement une section de toute façon.

+0

Ce lien peut également aider: http://stackoverflow.com/questions/724892/uitableview-scroll-to-the-top – georryan

+1

Whut? C'est WinForms, pas le cacao d'Apple :) – xyz

+0

Oops, il en est ainsi! Ma faute. =) – georryan

Questions connexes