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 :

affichage d'une liste d'items sur 2 colonnes


Sujet :

Flash

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut affichage d'une liste d'items sur 2 colonnes
    bonjour,

    j'ai un flash qui affiche une liste d'items (sous forme d'un clip qui se répète) provenant d'un flux xml.
    L'affichage se fait actuellement simplement sur une colonne en listant du 1er au dernier item.
    Je voudrai modifier cet affichage en le scindant en 2 colonnes. J'ai essayé plusieurs choses mais je n'y suis pas arrivé pas.

    mcProd étant le clip se répétant, qui lui même se trouve dans un clip mcProdList.

    voici un bout de mon code :

    // ::::::::::::::::::::::::::::::::::::::::::::::: Niveau liste des produits :::::::::::::::::::::::::::::::
    // A shortcut to top level nodes
    var TopNodes:Array = thisObj.listXML.firstChild.childNodes;

    // Compteur de fiche produit créée
    thisObj.nbProduit = 0;//TopNodes.length;


    // ::::::::::::::::::::::::::::::::::::::::::::::: Niveau produit ::::::::::::::::::::::::::::::::::::::::::
    // For each child node in the XML file...
    for(var i:Number = 0; i < TopNodes.length; i++)
    {
    /*if( ((Level1 == TopNodes[i].attributes['niveau1']) || (Level1 == ""))
    && ((Level2 == TopNodes[i].attributes['niveau2']) || (Level2 == ""))
    && ((Level3 == TopNodes[i].attributes['niveau3']) || (Level3 == "")) )*/
    if( ((Level1 == TopNodes[i].attributes['niveau1']))
    && ((Level2 == TopNodes[i].attributes['niveau2']))
    && ((Level3 == TopNodes[i].attributes['niveau3'])) )
    {
    // Attach the list_item symbol from the library and set up it
    var mcProd:MovieClip = thisObj.mcProdList.Container.attachMovie("list_item", "list_item_"+thisObj.nbProduit, thisObj.nbProduit);

    // MAJ du compteur de fiche produit créée
    thisObj.nbProduit++;

    // Mémo des attributs du noeud "produit" dans un attribut du MovieClip containeur de la fiche produit
    mcProd.attributs = TopNodes[i].attributes;
    //mcProd.attributs.niveau1
    //mcProd.attributs.niveau2
    //mcProd.attributs.niveau3

    // Récupération de toutes les données d'un produit
    // Use firstChild to iterate through the child nodes of the current node
    for(var prodNode:XMLNode = TopNodes[i].firstChild; prodNode != null; prodNode = prodNode.nextSibling)
    {
    // Si c'est un noeud de bon type (ELEMENT_NODE)... [il'y pas de raison que non !]
    if(prodNode.nodeType == 1)
    {
    // Mémo de la valeur dans un attribut du MovieClip containeur de la fiche produit
    if(prodNode.firstChild.nodeValue == undefined)
    {
    mcProd[prodNode.nodeName] = "";
    }
    else
    {
    mcProd[prodNode.nodeName] = prodNode.firstChild.nodeValue;
    }
    }
    }


    // Set up each top menu attributes...
    oXY = {x:thisX, y:thisY};
    mcProd.globalToLocal(oXY);
    mcProd._x = oXY.x;//thisX;
    mcProd._y = oXY.y;//thisY;
    mcProd.Libelle.iniWidth = mcProd.Libelle._width;
    mcProd.Libelle.autoSize = "left";
    mcProd.Libelle.text = mcProd["titre"];
    mcProd.Marque.iniWidth = mcProd.Marque._width;
    mcProd.Marque.autoSize = "left";
    mcProd.Marque.text = mcProd["marque"];
    //mcProd.Description.text = mcProd["description"];
    mcProd.DescriptionWeb.text = mcProd["description_web"];
    //mcProd.Delai.text = mcProd["ChaineDelai"];
    mcProd.Prix.text = mcProd["prix_vente_ttc"]+" €";
    //mcProd.ref = mcProd["id_produit"];
    mcProd.ImgZoomX = mcProd.ImgZoom._x;
    mcProd.ImgZoomY = mcProd.ImgZoom._y;
    mcProd.ImgZoomHeight = mcProd.ImgZoom._height;
    mcProd.ImgZoomWidth = mcProd.ImgZoom._width;
    _root.txtnbpr.text = nbProduit;


    // Prepare next element position

    thisY += mcProd._height;

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Lut,

    apparenment il s'agit d'adapter le pti algo pour avoir deux colonnes ;

    il faut savoir comment compte tu placer les elements,

    C1 | C2
    C3 | C4
    C5 | C6

    ou

    C1 | C4
    C2 | C5
    C3 | C6

    j'ai pas trop compri le passage pour placer le clip a la bonne position :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    oXY = {x:thisX, y:thisY};
    mcProd.globalToLocal(oXY);
    mcProd._x = oXY.x;//thisX;
    mcProd._y = oXY.y;//thisY;
    mais il suffit d'appliquer un modulo pour ce genre de choses.

    +

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    c'est bon..
    je me servait bien d'un modulo mais je l'avais mis dans une boucle, du ça partais un peu n'importe comment.

    du coup ça marche bien comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (nbProduit%2 == 0) {
    thisY += mcProd._height;
    mcProd._x += mcProd._width;
    }
    merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Traitement d'un affichage d'une liste de villes sur X lignes
    Par nicoreims dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/01/2015, 21h55
  2. Afficher une liste d'items sur un clic
    Par Ryuuzaki92 dans le forum Débuter
    Réponses: 2
    Dernier message: 04/04/2013, 12h06
  3. Affichage d'une liste de coordonnées sur Google Map
    Par doudoubens dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 01/06/2011, 14h28
  4. Affichage d'une liste de coordonnées sur google Map (
    Par doudoubens dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 27/05/2011, 15h32
  5. [Visual Web] Affichage d'une liste d'objets sur SJSC
    Par Ashen-Shugar dans le forum NetBeans
    Réponses: 4
    Dernier message: 28/05/2006, 20h16

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