Je cherche un moyen de faire défiler vers un élément spécifique dans un arbre. Une idée de comment faire cela?ExtJs: Tree: comment faire défiler directement vers un élément spécifique?
Répondre
Je devais appeler n.select();
mais je devais le faire au bon endroit :)
J'ai fait un TreeLoader et reliaient à mon arbre. Dans son cas load
(qui signifie « quand tout est téléchargé », je l'ai appelé afterload
...), je lis tous les nœuds et en fonction de leur id
j'agir en conséquence:
var LasTreeLoader = new Ext.tree.TreeLoader({
dataUrl: 'json/las.php',
listeners: {
load: function(loader,n,response) {
console.log('datas downloaded');
n.eachChild(
function(n) {
if ((n.id=='las/2007') ||
(n.id=='las/2007/08') ||
(n.id=='las/2007/08/29')) {
n.expand(false,false);
}
if (n.id=='las/2007/08/29/21_14_04') {
n.select();
}
});
}
}
});
Il n'est pas directement lié à extJs, mais vous pouvez obtenir l'élément DOM souhaité dans votre arborescence et utiliser scrollTo
pour y accéder.
Essayez dans votre gestionnaire d'événements, cliquez noeud:
node.getUI().getIconEl().scrollIntoView(node.getOwnerTree(), false);
var path = tree.getSelectionModel().getSelectedNode().getPath('id');
//reload data,
tree.getLoader().load(tree.getRootNode(),function(treeNode){
//expand path and select node
tree.expandPath(path,'id',function(bSucess,oLastNode){
tree.getSelectionModel().select(oLastNode);
});
},this);
Le Le DOM scrollIntoView
ne fonctionne pas vraiment comme prévu, car le haut ou le bas aligne toujours l'élément. ExtJS semble cependant avoir juste ce qu'il faut:
Ext.get(el|elId).scrollIntoView(containerId|containerEl);
Par exemple, pour assurer l'élément sélectionné dans un Ext.view.View
(dataview) instance est visible, je l'ai fait:
Ext.define('MyView', {
extend: 'Ext.view.View',
...
listeners: {
'selectionchange': function(_, selections) {
if (selections.length === 1) {
var node = this.getNode(selections[0]);
Ext.fly(node).scrollIntoView(this.el);
}
}
},
...
}
- 1. ExtJs Comment faire défiler vers le bas d'une grille?
- 2. Comment défiler vers un emplacement spécifique dans un iframe?
- 3. ExtJS Tree same parentNode
- 4. Comment faire pour faire défiler un WebView d'une chaîne HTML vers une ancre spécifique?
- 5. Comment faire pour faire défiler un RichTextBox vers le bas?
- 6. Comment faire défiler jusqu'à un élément après l'expansion avec slideToggle?
- 7. Navigation vers un élément spécifique avec jQuery
- 8. Comment faire défiler un élément div vers le haut de la page
- 9. Comment faire défiler jusqu'au nouvel élément ajouté dans un ListView
- 10. Comment faire défiler jusqu'à un élément à l'intérieur d'une div?
- 11. ABPeoplePickerView - Comment l'obtenir pour faire défiler vers un enregistrement sélectionné?
- 12. Faire défiler TextView dans un ScrollView vers une sous-chaîne de texte spécifique
- 13. Comment puis-je faire défiler automatiquement vers une ligne de table spécifique?
- 14. Faire défiler la table iPhone vers
- 15. extjs tree utilisant cntl x et v
- 16. Faire défiler jusqu'au premier élément coché dans un CheckedListBox
- 17. Faire défiler vers le bas d'un div
- 18. Force Fancybox faire défiler vers le haut
- 19. Comment faire défiler manuellement un panneau?
- 20. faire défiler vers un ensemble d'éléments à l'écran avec jquery
- 21. Faire défiler un ViewController?
- 22. Comment faire défiler élément avec vous sur la page?
- 23. Vim, comment faire défiler vers le bas d'un tampon nommé
- 24. Flex: Comment faire défiler la page vers le bas?
- 25. Comment faire en sorte que le navigateur fasse défiler horizontalement un élément vers un emplacement prédéfini sans utiliser JavaScript?
- 26. comment faire défiler asp.net zone de texte vers le bas
- 27. Comment faire défiler les pages sur un uiscrollview?
- 28. faire défiler un xml
- 29. faire défiler vers le bas une zone de liste automatiquement
- 30. Comment rendre SSH aller directement à un répertoire spécifique?
Salut! Je ne l'ai pas essayé, mais ça peut marcher. Voir ma réponse pour voir ce que j'ai fait :) –
Je l'ai essayé, ça marche. Merci beaucoup! :-) – Windwalker