1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
system.useCodepage = true;
//Déclaration d'un XML
myXML=new XML();
//On ignore les espaces dans notre fichier xml
myXML.ignoreWhite=true;
myXML.load("xml/contacts.xml");
//SI CHARGEMENT OK ALORS
myXML.onLoad = function (ok){
if (ok)
{
//initialisation d'un compteur de noeuds
n = 0;
//on place la tête delecture sur le premier noeud 'comment' du fochier 'adresses.xml'
x=myXML.firstChild;
// création de l'objet Array 'donnees' contenant les donnees du composant 'list_demo'
donnees = new Array();
//2ème 'Array qui nous servira pour le tri alphabéthique de la liste, vu que l'on ne peut pas classer lors de l'enregistrement
//en effet, chaque nouvel enregistrement est écrit en ligne 2 dans le fichier XML
donneestri = new Array();
//Tant qu'il y a des noeuds 'comment'
while (x.childNodes[n] != undefined)
{
// On remplit le tableau 'Array' avec les valeurs des atrributs du noeud n
donnees[n] = {type:x.childNodes[n].attributes.type, nom:x.childNodes[n].attributes.nom, prenom:x.childNodes[n].attributes.prenom, telephone:x.childNodes[n].attributes.telephone, mail:x.childNodes[n].attributes.mail, adresse:x.childNodes[n].attributes.adresse, CP:x.childNodes[n].attributes.CP, ville:x.childNodes[n].attributes.ville, naissance:x.childNodes[n].attributes.naissance};
//Noeud suivant
n++;
}
// Tri Alphabéthique par l'identité du contact
donnees.sortOn(["nom"])
//on définit un compteur pour regarder le nombre d'enregistrements de notre premier 'Array'
for(i=0; i<donnees.length; i++){
//Et on remet tout ça dans l'ordre
donneestri[i] = {type:donnees[i].type, nom:donnees[i].nom, telephone:donnees[i].telephone, mail:donnees[i].mail, adresse:donnees[i].adresse, CP:donnees[i].CP, ville:donnees[i].ville, naissance:donnees[i].naissance};
}
//On peut désormais remplir notre datagrid 'list_demo'
//création des colonnes même si on va s'arranger à l'image suivante de n'afficher que l'identité dans
//notre datagrid, le tableau contient en réalité tous les champs.
list_demo.columnNames = ["nom"];
//On renomme l'entête du champ 'Id' pour plus de compréhension pour le lecteur
col = list_demo.getColumnAt(0);
col.headerText = "Identité de la personne";
list_demo.dataProvider = donneestri;
// permet la séléction multiple dans le composant 'list_demo', quand la touche 'Ctrl' est enfoncée
//ici, on n'en veut pas
list_demo.multipleSelection = false;
}
}
var dgListener:Object = new Object();
dgListener.change = function(evt_obj:Object) {
for (var i = 0, j = 1; j<=list_demo.selectedItems.length; i++, j++) {
// affiche le contenu des valeur 'data' des éléments choisis dans la fenêtre de sortie
Idtext.text = list_demo.selectedItems[i].nom;
Telephonetext.text = list_demo.selectedItems[i].telephone;
Mailtext.text = list_demo.selectedItems[i].mail;
Adressetext.text = list_demo.selectedItems[i].adresse;
Cptext.text = list_demo.selectedItems[i].CP;
Villetext.text = list_demo.selectedItems[i].ville;
Naissancetext.text = list_demo.selectedItems[i].naissance;
Mailtext.text = list_demo.selectedItems[i].mail;
Portabletext.text = list_demo.selectedItems[i].telephone;
}
};
// Ajout de l'écouteur.
list_demo.addEventListener("change", dgListener);
//Pour envoyer un mail, par l'intermédiaire du clic sur le bouton, classique
Mailtext.onRelease = function() {
getURL("mailto:" + Mailtext.label);
}; |
Partager