Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: Component List

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    113

    Component List

    Ciao a tutti.
    Sto utilizzando (in Flash MX 2004 Pro) il component "List".
    Ora... tramite l'addItem associato all'onRelease di un pulsante vado ad aggiungere valori alla lista..
    ma come faccio per eliminarli sempre tramite l'azione di un pulsante? c'è un modo?

    Grazie.

  2. #2
    usi il removeItemAt...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    113

    Posizionamento

    OK, fatto e funziona...
    Ora però ho un'altro problema..
    Come faccio per recuperare la posizione (in temini di indice, tipo 0, 1, 2 ecc.) dei valori che inserisco nella lista?
    Ad esempio, se ho 2 voci nella lista, uno sarà al livello 0 dell'index, l'altro al livello 1... ma se elimino la prima voce, la seconda andrà a scalare al livello 0!

    Ora come posso recuperare la posizione di ogni singola voce?

    Grazie.

  4. #4
    Non ho capito bene :master:
    Puoi rispiegare meglio cosa ti serve?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    113
    Si, scusa... mi sono incasinato scrivendo!
    Allora...ti faccio un'esempio pratico: ho 3 pulsanti, ognuno dei quali, premuto, aggiunge una "voce" alla list.
    Sempre tramite altri 3 pulsanti ho la possibilità di rimuovere queste voci... Il problema è che, nel momento in cui ne elimino una o più, le altre cambiano di valore nell'index della list!
    Es:
    _root.Prod1.onRelease = function() {
    if (Qty1<>0 && Status1 == false) {
    _root.myList.addItemAt(0, "Prodotto 1 / Quantità: "+Qty1);
    Status1 = true;
    } else if (Qty1<>0) {
    _root.myList.replaceItemAt(0, "Prodotto 1 / Quantità: "+Qty1);
    }
    };
    _root.Prod1rem.onRelease = function() {
    if (Qty1 != undefined) {
    _root.myList.removeItemAt(0);
    Status1 = false;
    Qty1 = 0;
    }
    };


    Questo è il primo pulsante ed aggiunge una voce al livello 0 della list (_root.myList.addItemAt(0 , "Prodotto 1 / Quantità: "+Qty1);

    Il 2° pulsante aggiungerà una voce al livello 1 e così via...
    Ma se vado a rimuovere la prima voce, quella che occupa il livello 0, automaticamente la voce che occupa il livello 1 scalerà allo 0, rendendo così vano il comando _root.myList.removeItemAt(1)!

    Spero di essere stato un pò più chiaro...

  6. #6
    Ora ho capito meglio

    In pratica supponiamo che tu abbia le voci "a", "b", "c"
    Il pulsante deve rimuoverti "b" indipendentemente dalla posizione in cui si trova (dato che se ad esempio prima è stato eliminato "a", "b" sarà a 0 e non a 1)

    Ho più o meno capito il problema?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    113
    L'hai centrato perfettamente!
    Non ne esco più...
    Tra l'altro non devo solo poterlo eliminare, ma anche modificare (come hai potuto notare nello script che ho postato).

    Il problema è proprio capire che posizione nell'index occupa...

    HElp me

  8. #8
    Beh se sai il nome che ha, potresti controllare tramite un ciclo in quale posizione si trovi.

    Per esempio supponiamo che tu voglia trovare in quale posizione è "pippo", puoi fare

    for(k=0;k<a.length;k++){
    if(a.getItemAt(k).label == "pippo"){
    trace(k)
    break
    }
    }

    In questo modo saprai in che posizione si trova.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    113
    Mmmm... ok, però dovrei ripetere il ciclo for per ogni label?
    es: se dovessi modificare oltre a "pippo" anche "pippo2"?

  10. #10
    Puoi farti una funzione che richiami solo quando necessario.
    Tipo

    function trova(cosa){
    for(k=0;k<a.length;k++){
    if(a.getItemAt(k).label == cosa){
    trace(k)
    break
    }
    }

    }

    E poi richiamarla con

    trova("pippo")

    Oppure trova("pippo2")

    In tal modo la stessa funzione (e lo stesso ciclo) ti possono servire per trovare qualsiasi cosa

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.