J'ai une forme très simple en utilisant le cadre compact. J'ai deux champs de recherche un bouton de recherche et une grille de données. Le bouton définit DataSource pour un DataGrid sur le formulaire. Je sais que je peux définir la hauteur et la largeur sur le DataGrid mais je ne veux pas que l'utilisateur doive utiliser les barres de défilement sur le DataGrid car il a quelques centaines d'enregistrements. Je veux juste que l'utilisateur utilise la barre de défilement sur le formulaire pour faire défiler. Comment puis-je accomplir cela?Datagrid défilement dans Windows s façon Mobile pour se débarrasser de la barre de défilement?
Répondre
Je suppose que le comportement souhaité est pour une barre de défilement verticale qui enjambe la hauteur totale du formulaire pour naviguer dans les enregistrements du DataGrid
. Ce DataGrid
ne prend pas tout l'espace sur le formulaire.
Vous pouvez ajouter un VScrollBar
sur le côté du formulaire et définir son Maximum sur le nombre total de lignes de votre DataGrid
. Puis attachez à l'événement ValueChanged
de la barre de défilement et manipulez la ligne sélectionnée de votre DataGrid
. Ce serait en effet imiter le comportement de défilement du DataGrid
.
La partie difficile est de cacher la barre de défilement du DataGrid
, car il n'y a pas de propriété pour le cacher. Vous pouvez étendre sa largeur afin que la barre de défilement soit affichée hors écran, mais n'oubliez pas de définir la propriété AutoScroll
du formulaire sur false
afin qu'elle ne produise pas une barre de défilement horizontale qui afficherait le DataGrid
kludge. En fonction de votre application, vous pouvez utiliser ListView
avec la propriété View
définie sur Details
. Le ListView
est beaucoup plus facile à manipuler dans le cadre compact et pourrait mieux s'adapter à votre application. Vous pouvez toujours utiliser la même technique ci-dessus et l'appliquer au ListView
si vous le souhaitez.
Vous devez obtenir le nombre de lignes du DataSource. Cast comme l'exemple ci-joint pour produire le nombre de lignes: (rsMissingItems est un objet SqlCeResultSet)
Dim intRecCnt As Int32 = DirectCast(rsMissingItems.ResultSetView, ICollection).Count
- 1. Comment se débarrasser de la barre de défilement verticale d'une zone de texte dans IE?
- 2. Interface de défilement de Windows Mobile
- 3. barre de défilement verticale iframe
- 4. Barre de défilement Tbody
- 5. barre de défilement pour statictext dans wxpython?
- 6. WPF barre de défilement
- 7. Barre de défilement QScintilla
- 8. Silverlight datagrid défilement synchronisé
- 9. UITableView défilement sous la barre de navigation
- 10. Personnalisation de la barre de défilement
- 11. problème de barre de défilement
- 12. Barre de défilement du navigateur
- 13. html sélectionner la barre de défilement
- 14. WinForm Défilement du panneau sans barre de défilement?
- 15. Barre de défilement Div - Une façon de le styliser?
- 16. Modifier la largeur d'une barre de défilement
- 17. Masquage de la barre de défilement verticale dans wx.TextCtrl
- 18. Activation de la barre de défilement dans WPF
- 19. Barre de défilement horizontale dans IE6
- 20. comment se débarrasser des doubles-barres de défilement sur le cadre interne de l'application GWT
- 21. Pouvez-vous changer la largeur d'une barre de défilement (DIV de défilement) dans IE7
- 22. Problème de barre de défilement verticale Flex
- 23. Listbox Personnalisation de la barre de défilement dans WPF
- 24. Boîte de dialogue de défilement dans MFC sous Win CE/Windows Mobile
- 25. action de barre de défilement en java
- 26. Comment augmenter la largeur d'une barre de défilement pour DataGridView?
- 27. comment définir la position de la barre de défilement dans le panneau de formulaire Windows (C#)
- 28. Silverlight3: barre de défilement verticale DataGrid manquante lors de la liaison à PagedCollectionView
- 29. Stylet Barre de défilement du navigateur
- 30. Force la barre de défilement verticale à afficher dans IE8
Votre hypothèse est un peu mal. Je veux utiliser le formulaire AutoScroll et cacher la barre de défilement DataGrids. Le DataGrid ramène plus de 700 enregistrements de sorte qu'il occupe plus de la totalité de la zone visible du formulaire. Peut-être que j'ai besoin de savoir combien de lignes sont dans la grille de données et de voir combien cela serait en pixels et définir la propriété hauteur de données à des lignes * pixels par ligne. Toutes les idées (je ne suis pas sûr comment savoir combien de lignes il y a) –