Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037

    [2004] Modificare l'attributi, del tree component

    Ciao a Tutti!
    Non riesco a capire, per quale motivo riesco a modificare gli attributi solo quando richiamo un evento del tree?
    codice:
    //  cosi va
    var nodoSelezionato;
    var treObj:Object = new Object();
    treObj.change = function(evt)
    {
    	nodoSelezionato = evt.target.selectedNode;
    	nodoSelezionato.attributes.label = 'ciao';
    };
    myTree.addEventListener("change", treObj);
    // cosi no, ovviamente dopo aver selezionato una voce nel tree
    addMenu_btn.onPress = function()
    {
    	nodoSelezionato.attributes.label = 'ciao';
    };
    Grazie

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Prova così:

    codice:
    addMenu_btn.onPress = function()
    {
    	tuo_tree.selectedNode.attributes.label = 'ciao';
    };

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    Grazie Nega!
    Pero il problema presiste ancora. Prima non mi sono spiegato bene , scusa.
    Nel dataProvider cambia l'attributo, ma non aggiorna tree (visualizza ancora il vecchio label), ma solo se passo sopra la riga attualmente modificata.

    Grazie ancora per la tua disponibiltà

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Aspetta, mi ero dimenticato una cosa, il refresh:
    codice:
    addMenu_btn.onPress = function()
    {
    	myTree.selectedNode.attributes.label = 'ciao';
    	myTree.refresh();
    };
    In realtà non ce ne sarebbe bisogno, ma ti spiego perchè in questo caso serve.

    Quando cambi l'attributo di un nodo, cambia sì il dataProvider, ma l'aspetto visuale del component non cambia fino a che non viene scatenato un evento che ne forza il "refresh": e questo evento, nel caso, è il rollOver e il rollOut dall'elemento selezionato. Quindi, quando usi il "change", tu sei sopra il nodo, e nel momento in cui ne esci, questo viene aggiornato. Quando invece usi il pulsante, non sei sopra il nodo, e per scatenare l'aggiornamento devi andarci sopra (prova pure senza il refresh: seleziona il nodo, premi il pulsante, e torna sul nodo, e vedrai che si aggiorna). Se invece vuoi che si aggiorni subito dopo il cambio, e senza dover scatenare l'evento con il rollover, allora usa il metodo refresh(), che aggiorna l'aspetto visuale immediatamente. Spero di essermi capito..

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    Ma si, ti fai capire benissimo
    L'unica cosa, questo refresh da dove arriva, non lo trovo ne nella classe tree, ne quella di DataProvider.Lo so che tree hai il suo DataProvider apposito, ma nessun riferimento ad essi.
    Ma questo metodo "refresh" posso usare anvhe coi altri componenti o vale solo per il tree?

    GRAZIE

  6. #6
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    >Ma si, ti fai capire benissimo :)

    Mi fa piacere! :)

    >L'unica cosa, questo refresh da dove arriva, non lo
    >trovo ne nella classe tree, ne quella di DataProvider.

    Strano, è proprio del tree, non del DataProvider, io lo vedo nella documentazione relativa al component:
    codice:
    Tree.refresh()
    Updates the tree.
    >Ma questo metodo "refresh" posso usare anvhe
    >coi altri componenti o vale solo per il tree?

    Non è di tutti i components (non è nè dell'UIObject nè dell'UIComponent), ce l'hanno solo alcuni, come ad esempio anche lo ScrollPane. Il metodo comune a tutti i components è il redraw (ridisegna l'aspetto visuale).

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    ti ringrazio per la spiegazione, sei stato gentilissimo.
    Ciao

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.