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 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 du tout comment ajouter un lien dans une cellule et donc faire mon attachmovie.
J'ai vu qu'il faudrait 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.

Voici mon code:

ActionScript

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
   1. import mx.core.UIComponent; 
   2. import mx.controls.DataGrid; 
   3.  
   4. class table_mysql extends UIComponent { 
   5.  
   6.     public var grille : DataGrid; 
   7.     public var fichier_xml : XML; 
   8.     public var colonnes : Array; 
   9.     public var charge : Boolean; 
  10.      
  11.     function onLoad(){ 
  12.         charge = false; 
  13.     } 
  14.  
  15.     function lire_colonnes(objet:XML):Void { 
  16.         var i :Number; 
  17.         i = 0; 
  18.         while (objet.childNodes[i-1]!=objet.lastChild){ 
  19.             grille.addColumn(objet.childNodes[i].attributes.nom); 
  20.             i++; 
  21.         } 
  22.     } 
  23.      
  24.     function lire_enregistrement(objet:XML):Void { 
  25.         var i :Number; 
  26.         var nom : String; 
  27.         var valeur : String; 
  28.         var o : Object; 
  29.         var lien; 
  30.         i = 0; 
  31.         o = new Object(); 
  32.         while (objet.childNodes[i-1]!=objet.lastChild){ 
  33.             nom = objet.childNodes[i].attributes.nom; 
  34.             valeur = objet.childNodes[i].attributes.valeur; 
  35.             o[nom] = valeur; 
  36. //          lien = valeur; 
  37.             i++; 
  38.         } 
  39.         grille.addItem(o); 
  40.     } 
  41.      
  42.     function xml_charge(Void):Void { 
  43.         var i : Number; 
  44.         lire_colonnes(fichier_xml.firstChild.childNodes[0]); 
  45.         for (i=1;i<fichier_xml.firstChild.childNodes.length;i++){ 
  46.             lire_enregistrement(fichier_xml.firstChild.childNodes[i]); 
  47.         } 
  48.         grille.spaceColumnsEqually(); 
  49.     } 
  50.      
  51.     // charger : Charge un fichier XML 
  52.     function charger(fichier:String):Void{ 
  53.         fichier_xml = new XML(); 
  54.         fichier_xml.ignoreWhite=true; 
  55.         fichier_xml.load(fichier); 
  56.     } 
  57.      
  58.     // Voir quand c´est charge 
  59.     function onEnterFrame(){ 
  60.         if (!charge){ 
  61.             if (fichier_xml.loaded){ 
  62.                 charge=true; 
  63.                 xml_charge(); 
  64.             } 
  65.         } 
  66.     } 
  67. }
et mon XML

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
 
<?xml version="1.0" ?>  
<resultat> 
  <colonnes> 
   <colonne nom="Code" /> 
   <colonne nom="Nom du produit" /> 
     <colonne nom="Prix" /> 
     <colonne nom="Photo" /> 
  </colonnes> 
    <produit> 
     <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" /> 
    </produit> 
</resultat>
Merci d'avance.