Bonjour à tous,
Je commence par un descriptif rapide ce que j'aimerais faire.
Dans une première frame de mon animation, je commence par lire le contenue d'un fichier xml et j'insère ce dernier dans un composant Datagrid. Quand j'ai terminé la lecture du xml, je passe à une autre frame où j'insère le "label" de chaque ligne du DataGrid dans un ComboBox (le but étant de faire un filtre par la suite). Jusqu'ici tout est OK. Maintenant, quand je sélectionne un "label" dans le ComboBox, je parcourt le DataGrid jusqu'à ce que j'ai trouvé le "label" recherché. ça aussi ça fonctionne.
Voici maintenant mon petit problème. Après avoir trouvé mon "label" j'aimerais que le scroll du DataGrid se déplace jusqu'à l'index sélectionné mais pas moyen !
En cherchant sur internet, j'ai bien trouvé ça :
Code ActionScript :
datagrid.scrollToIndex(datagrid.selectedIndex);
(datagrid est le nom de mon DataGrid...)
Mais ça ne fonctionne pas.
Voici le code entier de ce que j'éxecute au moment où je sélectionne un "label" dans le ComboBox :
Code ActionScript :
// Création d'un objet écouteur au combobox.
var cbListener:Object = new Object();
// Création d'une fonction de gestionnaire d'événements.
cbListener.change = function(evt_obj:Object) {
//trace("Currently selected item is: " + evt_obj.target.selectedItem.label);
for (var i:Number = 0; i<datagrid.length; i++) {
datagrid.selectedIndex = i;
if (evt_obj.target.selectedItem.label == "-- Sélectionner un produit --") {
datagrid.selectedIndex = 0;
//datagrid.scrollToIndex(selectedIndex);
break;
} else {
if (datagrid.selectedItem.label == evt_obj.target.selectedItem.label) {
//datagrid.validateNow() //??
datagrid.scrollToIndex(datagrid.selectedIndex);
break;
}
}
}
};
// Ajout de l'écouteur d'événements.
ComboBoxFiltre.addEventListener("change",cbListener);
J'espère que mon explication n'est pas trop mauvaise...
Merci d'avance à tous.
Julien