IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

[FLASH MX2004] Problème avec un datagrid & xml


Sujet :

Flash

  1. #21
    Membre confirmé Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Points : 483
    Points
    483
    Par défaut
    Oui la notion de pattern MVC, de dataProvider c'est en gros la même chose en AS2 et en JAVA
    Le truc c'est de bien comprendre que dans le code que je t'ai filé on converti le XML en tableau d'objet plus simple à gérer au niveau du composant DataGrid En gros c'est ce que font les autres composants de macromedia mais de façon plus lourde que mon code... là tu vois juste ce qu'il se passe et une fois que tu auras compris tout cela tu iras beaucoup plus vite pour arriver à tes fins.
    EKA+

  2. #22
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 45
    Points : 8
    Points
    8
    Par défaut
    Excellent !

    Je voulais savoir, au niveau de Xpath.

    Y'a t-il un moyen de faire des requetes SQL simple directement, ou alors il fait utiliser les syntaxes propres à cette méthode ?

    Mais aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <partenaire index="6"> 
    		<raison>ADVISA</raison> 
    		<secteur>Multimédia</secteur> 
    		<adresse>26, Boulevard Clémenceau</adresse> 
    		<code>67000</code> 
                          <ville>STRASBOURG</ville>
    derrière index="6" , dois-je mettre un alpha="a" pour savoir si la société commence par quel lettre, ou alors il y a d'autre moyen ?

    Merci d'avance !

  3. #23
    Membre confirmé Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Points : 483
    Points
    483
    Par défaut
    pour parcourir un objet dans flash faut utiliser for..in
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var o = {} ;
    o.prop1 = 2 ;
    o.prop2 = 3 ;
    for (var prop:String in o) trace (prop + " >> " + o[prop]) ;
    On appelle cela faire une "énumération" de l'objet.

    Maintenant un xml c'est une chaine de caractère formatée avec des balises (ouvertes/fermées) des noeuds etc... et du coup le parseur de Flash regarde si la chaine est valide et dans ce cas permet de récupérer une valeur sur la propriété status du xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    trace (x.status) ; // renvoi un nombre voir dico
    La propriété attributes d'un noeud au niveau de la classe XML et XMLNode de flash est tout simplement un objet(XML hérite de XMLNode avec les méthodes pour récupérer la chaine de caractère load, send etc... en +)
    Je disais donc.. attributes est un objet avec dedans les propriétés que tu as défini dans la balise ouverte du noeud :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <item prop1="1" prop2="2"></item>
    si tu as un noeud xml dans flash tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    trace (monNoeud) ; // renvoi le noeud au dessus
    var oAttributes = monNoeud.attributes ;
    for (var prop:String in oAttributes) trace (prop + " : "+ oAttributes[prop]) ;
    Dans le panneau de sortie tu vas avoir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    prop1 : 1
    prop2 : 2
    prop1 et prop2 sont les noms des propriétés et 1 et 2 sont les valeurs !

    Du coup tu as du voir dans le code l'endroit où je copie la propriété index... tu peux utiliser un for..in pour récupérer toutes les propriétés de l'attributes de ton noeud et ensuite les copier au fur et à mesure dans ton objet "item" temporaire qui sera ensuite ajouté au tableau d'objet.

    Sinon ... tu parles de faire des requêtes SQL.... SQL c'est un type de base de donnée sur un serveur SQL... cela n'a AUCUN rapport avec du xml à part que ce sont pour les 2 des moyens de stocker des données.
    Si tu veux utiliser du SQL pour faire une table de donnée... le XML seul ne suffira pas... forcément

    Tu embrouilles dans ce que tu dis beaucoup de chose en mélangeant XPATH et SQL par exemple .... cela veut dire que tu veux aller trop vite en besogne

    Essai de prendre ton temps je vais pas tout te faire
    D'ailleurs je t'ai filé assez d'info maintenant pour que tu te débrouilles tout seul et je vais arrêter de t'aider jusqu'à ce que tu es une nouvelle vraie question qui ne tourne pas autour de ce que je t'ai déjà dit .. ou d'une piste que je t'ai déjà filé et que tu n'a pas pri le temps d'exploiter

    Je suis pas là pour te faire ton boulot... juste t'aiguiller

    EKA+

  4. #24
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 45
    Points : 8
    Points
    8
    Par défaut
    Salut !

    J'ai passé tout le dimanceh à essayer d'appliquer ta méthode. Pour le for...in, c'est bon, j'ai compris, mais le seul problème, c'est que je vois pas comment le bouton pourra interagir par rapport à ma fontion cellPress !

    Est qu'il faut lui donné un paramètre ?

    Merci d'avance (je pense pas que c'est une question que je t'ais déjà posé et dont tu m'as donné la réponse, c'est pourquoi je me permet en ce diomanche soir de te poser la question )

    Cédric.

  5. #25
    Membre confirmé Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Points : 483
    Points
    483
    Par défaut
    Montre ce que tu as fais
    EKA+

  6. #26
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 45
    Points : 8
    Points
    8
    Par défaut
    Salut Eka+

    Voilà, j'ai mi le nouveau zip au meme endroit que la dernière fois :

    http://perso.wanadoo.fr/mitzuko0309/partenaire.zip

    Je galère a comprendre la manière de faire pour les boutons ! Ca fait depuis ce matin 9 h que j'épluche tous les tuto sur les for...in et les autres insctructions, et je galère encore.

    Rahh... je suis vraiment un boulet !

    Céd.

  7. #27
    Membre confirmé Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Points : 483
    Points
    483
    Par défaut
    je regarde cela dans la soirée.. là je vais manger
    PS : le lien vers le fichier marche pas ?
    EKA+

  8. #28
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 45
    Points : 8
    Points
    8
    Par défaut
    Effectivement, je vais voir ce qu'il se passe!

    Un instant stp, le temps de réglé le problème avec wanadoo :d


    Céd.

  9. #29
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 45
    Points : 8
    Points
    8
    Par défaut
    Tu peux m'envoyer un message en mp ou sur mon adresse mail mitzuko@gmail.com pour avoir un adresse mail pour t'envoyer mon fichier .zip? j'ai un soucie avec mes ftp ce soir !

    Merci

    Céd.

  10. #30
    Membre confirmé Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Points : 483
    Points
    483
    Par défaut
    Je préfère pas te filer mon mail perso pour ce genre de petit problème Il y a un forum et franchement c'est mieux comme cela Essai de voir si tu peux le mettre quelquepart ailleurs que je le récupère
    EKA+

  11. #31
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 45
    Points : 8
    Points
    8
    Par défaut
    oki, en fait c'ets mon .zip qui posais problème, je sais pas pourquoi !

    donc mon .fla , il est là :

    http://perso.wanadoo.fr/mitzuko0309/partenaires.fla

    et mon xml est là :

    http://perso.wanadoo.fr/mitzuko0309/partenaire.xml !

    Voili voilou !

    Cédric.

  12. #32
    Membre confirmé Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Points : 483
    Points
    483
    Par défaut
    Je commence par corriger ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
     
    import mx.controls.gridclasses.DataGridColumn; 
    import mx.xpath.XPathAPI;
    import mx.styles.CSSStyleDeclaration;
     
    var style:Object = { 
    	alternatingRowColors : [0xFFFFFF, 0xECF2F8] , 
    	fontSize : 12 , 
    	vGridLines : false 
    } 
     
    // !!! ici tu utilises pas le bon nom d'occurence !!!!
    for (var prop:String in style) { 
    	grid.setStyle(prop, style[prop]) ; // je corrige le nom de l'occurence
    }
    // themeColor
    grid.setStyle("themeColor", "haloBlue"); 
     
    // je pense que tu as pas compris l'intérêt du for..in
    // fais en sorte de bien nommer tes champs de textes
    // ainsi tu peux cibler dynamiquement tous les champs en fonction
    // du contenu de ton modèle en 1 ligne
     
    var cellPress = function( event )  { 
    	var target = event.target ; 
    	var index = target.selectedIndex ; 
    	var item = target.getItemAt(index) ; 
    	trace ("----- cellPress") ; 
    	for (var prop in item) {
    		this["ta_" + prop].text = item[prop] || "non spécifié" ;
    		trace (prop + " : "+  item[prop]) ; 
    	}
    }
     
    // la scène principale écoute l'événement cellPress 
    grid.addEventListener("cellPress", this) ; 
     
    var c1:DataGridColumn = new DataGridColumn("raison") ; 
    c1.headerText = "Société" ;
    c1.width = 180 ;
    grid.addColumn(c1) ; 
     
     
     
    var x = new XML(); //création de l'objet XML 
    x.ignoreWhite=true; //ignorer les sauts de ligne 
    x.onLoad = function(success) { 
       	if (!success && this.status == 0) { 
    		trace ("error !") ; 
    		return ; 
    	} 
     
    	var data:Array = new Array(); // création du tableau data
    	var node:Array = this.firstChild.childNodes ;  // création du tableau ayant les noeuds
    	var l:Number = node.length ; // longeur des noeuds du fichier xml 
     
    		for (var i = 0; i < l ; i++) 
    			{ 
          			var cur = node[i] ; // cur est la valeur courante de i 
          			if (cur.nodeName == "partenaire") 
    					{ 
             				var subNode:Array = cur.childNodes ; 
             				var item = {} ; 
           					item.index = cur.attributes.index ; 
           					var k:Number = subNode.length ; 
     
    						for (var j:Number = 0 ; j<k ; j++) 
    							{ 
             						cur = subNode[j] ; 
                					item[cur.nodeName] = cur.firstChild.nodeValue ; 
           						} 
     
    						data.push(item); 
          				} 
       			} 
     
    		grid.dataProvider = data ; // injecter les données dans le modèle du tableau 
       		grid.sortItemsBy("raison") ; // tu peux trier ton tableau directement 
     
       		nb.text = x.firstChild.childNodes.length;
     
    	}
     
    x.load("partenaire.xml");
    Pour les boutons.. tu as fais quoi ?
    Tu as vu comment fonctionne un composant Button dans le dico ? (Guide de référence des composants ?)
    Tu as vu comment fonctionne l'événemement click des boutons ?
    Tu as essayé d'utiliser à part le XPathAPI ???
    Tu as vu ce que cela donne de faire une recherche avec cette classe ?
    Là je vois rien dans ton fla qui me montre que tu es essayé de faire des tests en suivant le tuto sur le site etc....

    Commence par faire un truc et aprés on verra si je peux t'aider.. je compte pas tout te faire J'ai déjà fait beaucoup et toi ... pas grand chose

    EKA+

  13. #33
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 45
    Points : 8
    Points
    8
    Par défaut
    Ok !

    Ou est ce que je trouves le guide de références des composants s'il te plait ?

    Cédric.

  14. #34
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    Citation Envoyé par cedonline
    Ok !

    Ou est ce que je trouves le guide de références des composants s'il te plait ?

    Cédric.
    je pense qu'il fait seulement reference a l'aide dans flash.
    utilisation des composants -> dictionnaire des composants

  15. #35
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 45
    Points : 8
    Points
    8
    Par défaut
    Effectivement, c'est bien ça !

    Merci

    Cédric.

  16. #36
    Membre confirmé Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Points : 483
    Points
    483
    Par défaut
    En fait entre FlashMX2004 et Flash8 ils ont changé le nom dans le dico du chapitre des dicos dans l'aide...
    Dans tous les cas n'oublie pas que quand tu comprends pas un truc.. tu peux taper du code dans le panneau d'action, tu sélectionne le mot que tu connais pas et appuis sur F1, cela ouvre l'aide directement à la page du mot ... si il existe
    EKA+

  17. #37
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 45
    Points : 8
    Points
    8
    Par défaut
    Salut

    Réponse au question :

    Pour les boutons.. tu as fais quoi ?
    N'importe quoi, tu as tout a fait raison. J'ai completement loupé le côté automatique que cela peut avoir (entre nous, je viens aussi de comprendre que de donné à mon textarea le même nom que dans mon fichier xml me permet d'être plus efficace ! merci Eka )

    Tu as vu comment fonctionne un composant Button dans le dico ? (Guide de référence des composants ?)
    Oui, je viens de regarder.

    Tu as vu comment fonctionne l'événemement click des boutons ?
    Je viens de regarder et elle permet de faire une action à partir du clic de l'utilisateur.

    Tu as essayé d'utiliser à part le XPathAPI ???
    J'ai refais 3 fois de suite cette aprèm le tuto que Bolo à mis en place, et tout allais bien. Mais le seul soucis, c'est quand j'ai voulu mettre en place la même méthode dans le code flash de mon appli, et là, déjà, même si cela parais bête, dans le tuto, c'est un textarea qu'il réinitialise, alors que moi j'ai un datagrid, et sa fonction, je ne vois pas comment la placer dans mon appli !

    Tu as vu ce que cela donne de faire une recherche avec cette classe ?
    Oui, puisque j'ais fait le tuto de bolo.

    Même si le code que je t'ais fourni n'est pas plus avancer que celui de la denrière fois, j'ai pourtant passé tout ce dimanche à faire des tutos sur chacun des sites que tu m'as fourni !

    Le gros problème dans mon cas, c'est que je n'arrives pas à appliquer directement ce que j'ai appris dans les tutos dans mon code.

    Le "filtre", comme bolo l'appelle dans son code, est l'élément qui me bloque en ce moment. Je ne vois pas où placer cette fonction qu'il appelle "remplir".

    Est ce qu'elle doit inclure le for...in qui me permet de trier les sociétés ?

    Merci beaucoup d'avance

    Cédric.

  18. #38
    Membre confirmé Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Points : 483
    Points
    483
    Par défaut
    Normalement avec le XPATH tu peux extraire dans ton xml un nouveau modèle avec dedans uniquement ce qui t'intéresse.. normalement une fois que tu as mis à jour ton modèle avec le XPATH il suffit de refaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    grid.dataProvider = data ;
    cela va effacer ce qui est dans le tableau et remettre à jour avec le nouveau contenu trié avec le XPATH etc....
    donc en gros essai de voir si tu peux créer un nouveau tableau d'objet contenant que ce que te renvois le XPATH et voilà
    Fais des essais et montre moi si tu arrives à faire des requêtes sur ton xml et ensuite d'en faire un nouveau tableau d'objet en utilisant la même méthode que dans la méthode onLoad de ton xml

    EKA+

  19. #39
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 45
    Points : 8
    Points
    8
    Par défaut
    Mais je dois créer une fonction "remplir" alors, qui me permet de lié l'ensemble ?

    Je penses que je tiens le bon bout, non ?

    Céd.

  20. #40
    Membre confirmé Avatar de ekameleon
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    401
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 401
    Points : 483
    Points
    483
    Par défaut
    oui en général vaut mieux faire cela... mais tu peux aussi utiliser la fonction de rappel qui est invoqué lors de l'événement click de ton bouton. A toi de choisir la meilleure méthode... le tout est de bien comprendre comment transformer ton xml.. aprés que tu le fasses dans une fonction ou une autre c'est pareil

    EKA+

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 4 PremièrePremière 1234 DernièreDernière

Discussions similaires

  1. [FLASH MX2004] Problème avec un clip vide
    Par vbcasimir dans le forum Flash
    Réponses: 5
    Dernier message: 10/02/2006, 15h06
  2. [FLASH MX2004] Problème avec d'incrémentation
    Par vbcasimir dans le forum Flash
    Réponses: 6
    Dernier message: 08/02/2006, 16h01
  3. [FLASH MX2004] Problème avec la couleur
    Par Garra dans le forum Flash
    Réponses: 2
    Dernier message: 16/01/2006, 17h23
  4. Réponses: 5
    Dernier message: 14/01/2006, 20h30
  5. [FLASH MX2004] Problème avec fscommand("exec", ...
    Par djo.mos dans le forum Flash
    Réponses: 10
    Dernier message: 24/08/2005, 07h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo