DataGrid lien pour ouverture de clip ou vignette d'une photo

exodius59 Messages postés 2 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 17 juin 2009 - 26 mai 2009 à 10:01
exodius59 Messages postés 2 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 17 juin 2009 - 26 mai 2009 à 10:50
Bonjour à tous.

Aprés pas mal de recherches sur le net je me dirige vers vous pour (je l'espère) m'aider avec le dataGrid.

J'ai donc réussi à créer un dataGrid chargeant du contenu XML (grace à une source trouvée sur ce site) réparti dans 3 colonnes(ref, nom, prix).
j'ai
une quatrième colonne qui servirait soit à visualiser le produit sélectionné
(un produit par ligne) via un clip dans lequel je charge mon image en
XML soit avec une prévisualisation dans la cellule (vignette).
Je ne sais quelle solution est la plus simple.

Mon problème est que je ne sais pas comment ajouter un lien dans une cellule et donc faire mon attachmovie.
J'ai vu qu'il faut utiliser la classe CellRenderer mais je ne sais pas du tout comment ca s'utilise. J'ai beau regarder dans les exemples de PhilFlash, je ne comprend rien.

Si vous avez une soluce, elle est la bienvenue.

Merci d'avance.

1 réponse

exodius59 Messages postés 2 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 17 juin 2009
26 mai 2009 à 10:50
Voici mon code si ca peut vous aider à y voir plus clair.

ActionScript

<ol class= "dp-as" start="1">
<li class="alt">



import
 mx.core.UIComponent; 



</li>
<li class="">



import
 mx.controls.DataGrid; 



</li>
<li class="alt">


 


</li>
<li class="">



class
 table_mysql 
extends
 UIComponent { 



</li>
<li class="alt">


 


</li>
<li class="">


    public var grille : DataGrid; 


</li>
<li class="alt">


    public var fichier_xml : XML; 


</li>
<li class="">


    public var colonnes : Array; 


</li>
<li class="alt">


    public var charge : Boolean; 


</li>
<li class="">


     


</li>
<li class="alt">


    function onLoad(){ 


</li>
<li class="">


        charge = false; 


</li>
<li class="alt">


    } 


</li>
<li class="">


 


</li>
<li class="alt">


    function lire_colonnes(objet:XML):Void { 


</li>
<li class="">


        var i :Number; 


</li>
<li class="alt">


        i = 0; 


</li>
<li class="">


        while (objet.childNodes[i-1]!=objet.lastChild){ 


</li>
<li class="alt">


            grille.addColumn(objet.childNodes[i].attributes.nom); 


</li>
<li class="">


            i++; 


</li>
<li class="alt">


        } 


</li>
<li class="">


    } 


</li>
<li class="alt">


     


</li>
<li class="">


    function lire_enregistrement(objet:XML):Void { 


</li>
<li class="alt">


        var i :Number; 


</li>
<li class="">


        var nom : String; 


</li>
<li class="alt">


        var valeur : String; 


</li>
<li class="">


        var o : Object; 


</li>
<li class="alt">


        var lien; 


</li>
<li class="">


        i = 0; 


</li>
<li class="alt">


        o = new Object(); 


</li>
<li class="">


        while (objet.childNodes[i-1]!=objet.lastChild){ 


</li>
<li class="alt">


            nom = objet.childNodes[i].attributes.nom; 


</li>
<li class="">


            valeur = objet.childNodes[i].attributes.valeur; 


</li>
<li class="alt">


            o[nom] = valeur; 


</li>
<li class="">



//          lien = valeur;
 



</li>
<li class="alt">


            i++; 


</li>
<li class="">


        } 


</li>
<li class="alt">


        grille.addItem(o); 


</li>
<li class="">


    } 


</li>
<li class="alt">


     


</li>
<li class="">


    function xml_charge(Void):Void { 


</li>
<li class="alt">


        var i : Number; 


</li>
<li class="">


        lire_colonnes(fichier_xml.firstChild.childNodes[0]); 


</li>
<li class="alt">


        for (i=1;i<fichier_xml.firstChild.childNodes.length;i++){ 


</li>
<li class="">


            lire_enregistrement(fichier_xml.firstChild.childNodes[i]); 


</li>
<li class="alt">


        } 


</li>
<li class="">


        grille.spaceColumnsEqually(); 


</li>
<li class="alt">


    } 


</li>
<li class="">


     


</li>
<li class="alt">


    // charger : Charge un fichier XML 


</li>
<li class="">


    function charger(fichier:String):Void{ 


</li>
<li class="alt">


        fichier_xml = new XML(); 


</li>
<li class="">


        fichier_xml.ignoreWhite=true; 


</li>
<li class="alt">


        fichier_xml.load(fichier); 


</li>
<li class="">


    } 


</li>
<li class="alt">


     


</li>
<li class="">


    // Voir quand c´est charge 


</li>
<li class="alt">


    function onEnterFrame(){ 


</li>
<li class="">


        if (!charge){ 


</li>
<li class="alt">


            if (fichier_xml.loaded){ 


</li>
<li class="">


                charge=true; 


</li>
<li class="alt">


                xml_charge(); 


</li>
<li class="">


            } 


</li>
<li class="alt">


        } 


</li>
<li class="">


    } 


</li>
<li class="alt">


}




</li>
</ol>
Et mon XML





<resultat>
 <colonnes>
  <colonne nom ="Code" />
  <colonne nom="Nom du produit" />
  <colonne nom="Prix" />
  <colonne nom="Photo" />
 </colonnes>
  
    <champ nom="Code" valeur="239" />
    <champ nom="Nom du produit" valeur="CAHIER 48P 24X32 A L'ITALIENNE UNI 70GR" />
    <champ nom="Prix" valeur="1,65" />
    <champ nom="Photo" valeur="photos/239.jpg" />
  

  
    <champ nom="Code" valeur="240" />
    <champ nom="Nom du produit" valeur="CAHIER 32 PAGES UNIS 24X32 70 GRS" />
    <champ nom="Prix" valeur="0,70" />
    <champ nom="Photo" valeur="photos/240.jpg" />
  

</resultat>
0
Rejoignez-nous