Hey, je dois être capable de faire défiler ma grille ExtJS vers la sélection actuelle, mais je n'ai aucune idée de comment faire cela. Je suis tombé sur une référence dans un forum à une méthode EnsureVisible mais je ne trouve aucune information. Quelqu'un peut-il faire des suggestions? MerciFaites défiler jusqu'à la sélection dans une grille ExtJS
Répondre
Désolé, je suis vraiment bête. J'ai juste essayé EnsureVisible et cela fonctionne très bien.
Malheureusement, EnsureVisible() a été supprimé de ExtJS 4. La solution la plus simple que j'ai trouvée est d'utiliser scrollIntoView(). Dans mon cas, c'était après avoir sélectionné la ligne en fonction d'une valeur que j'ai chargée.
var rowIndex = store.find('fieldName', value);
grid.getSelectionModel().select(rowIndex);
Ext.fly(grid.getView().getNode(rowIndex)).scrollIntoView();
Ceci affichera la ligne sélectionnée au bas de la grille. Plus de travail devra être fait pour l'avoir en haut ou au milieu de la grille.
Cela semble également travailler:
grid.getView().getRow(rowIdx).scrollIntoView();
Merci! Cela a fonctionné pour moi ... –
Cela semble également travailler:
grid.getView().focusRow(rowIdx);
Cela semble également travailler
grid.getView().getNode(rowIndex).scrollIntoViewIfNeeded();
En cas de ExtJs 4.X Non besoin d'utiliser Ext.fly
scrollIntoViewIfNeeded() ne fonctionne pas dans IE9 + –
'IE mal', scrollIntoViewIfNeeded() fonctionne en chrome, S'il vous plaît se référer réponse par @bhuvaneswari pour IE, aussi 'scrollIntoView()' donne un comportement étrange si vous êtes en utilisant des fenêtres modales –
Pour vous épargner beaucoup de cheveux en tirant, vous devez savoir que les solutions dans ce fil pour le défilement dans la vue pas travailler si la grille bufferedRenderer est activée.
Je crois savoir que dans Ext JS 5, bufferedRenderer est activé par défaut.
Il m'a fallu quelques heures avant de m'en rendre compte.
grid.getView(). GetNode (rowIndex) renvoie NULL si la ligne indexée est en dehors des lignes mises en mémoire tampon.
Travaillé pour moi sur ExtJS 6, même avec bufferedRenderer activé.
var record = grid.getSelectionModel().selected.getRange()[0];
grid.getView().focusRow(record);
En 4.2 au moins, en utilisant scrollIntoViewIfNeeded
échoue si vous êtes hors de la plage dans un tampon bufferedRenderer. Le bufferedRenderer a une méthode scrollTo
pratique pour vous aider dans cette tâche si:
grid.getView().bufferedRenderer.scrollTo(index, true);
Fait défiler à et sélectionne optionlly l'index de ligne spécifié dans l'ensemble de données totale.
http://docs.sencha.com/extjs/4.2.0/#!/api/Ext.grid.plugin.BufferedRenderer-method-scrollTo
- 1. Désactivation des lignes dans la grille extjs
- 2. ExtJs Comment faire défiler vers le bas d'une grille?
- 3. jQuery: Faites défiler jusqu'à
- 4. Rendu d'un composant dans une grille ExtJS
- 5. EXTJS utilisant les données d'une grille dans une autre grille
- 6. ExtJS Sélection de ligne de pagination de grille
- 7. ExtJS ComboBox à l'intérieur de la grille
- 8. ExtJS RowEditor sur la grille
- 9. Div Faites défiler sur MouseOver
- 10. Faites défiler Google Maps dans iframe
- 11. ExtJs grille jouant le rôle très étrange
- 12. Faites défiler la vue pour le textView dans android
- 13. Besoin de faire défiler une grille WPF
- 14. Faites défiler jusqu'à la zone supérieure dans div
- 15. EXTJS ReRendering de la grille avec Datastore
- 16. La grille extjs fonctionne dans Firefox, pas dans IE
- 17. Réinitialisation d'une grille de données dans ExtJs
- 18. UPDATE ligne dans la grille dans extjs 3
- 19. GWT FlexTable - faites glisser la sélection comment?
- 20. Erreur de grille ExtJs dans asp.net mvc
- 21. Contrôle d'édition personnalisé dans une grille de l'éditeur ExtJS
- 22. javascript faites défiler vers le haut
- 23. ListView faites défiler jusqu'à l'élément sélectionné
- 24. afficher l'image dans une grille en utilisant extjs
- 25. WPF ListBox - Faites défiler toujours au-dessus
- 26. iPhone - faites défiler UITableView jusqu'à l'index
- 27. faire quelque chose lorsque vous faites défiler vers le haut et quelque chose d'autre lorsque vous faites défiler dans jquery
- 28. répéteur ASP.net, faites défiler 3 à la fois
- 29. Gestion des données XML imprévisibles dans la grille ExtJS
- 30. extjs aucune donnée ne doit charger la grille vide
Avez-vous été en mesure d'obtenir ce travail avec ExtJS 4.0? –
@Erik Allik - Nous utilisons ExtJS 3.4. Je serais surpris si cela ne fonctionnait pas dans 4.0. – dave