Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    19

    Flash Builder: classe repeater

    ciao a tutti..il mio problema è quello di riuscire a creare un repeater all'interno di un componente view di un progetto Flex Mobile Project. Ho cercato in internet ma ci sn delle versioni che non ho ben capito. In pratica io dovrei creare un controllo (repeater) al cui interno sono presenti alcuni label e un bottone. Ho provato importare la classe (import mx.core.Repeater) ma nn me la trova; ho pure provato a inserire direttamente il tag (<mx:Repeater>) ma nemmeno questo funziona. spero di avere esposto bene il mio problema..ringrazio in anticipo.

  2. #2
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955

    Re: Flash Builder: classe repeater

    Originariamente inviato da Anghi92
    ciao a tutti..il mio problema è quello di riuscire a creare un repeater all'interno di un componente view di un progetto Flex Mobile Project. Ho cercato in internet ma ci sn delle versioni che non ho ben capito. In pratica io dovrei creare un controllo (repeater) al cui interno sono presenti alcuni label e un bottone. Ho provato importare la classe (import mx.core.Repeater) ma nn me la trova; ho pure provato a inserire direttamente il tag (<mx:Repeater>) ma nemmeno questo funziona. spero di avere esposto bene il mio problema..ringrazio in anticipo.
    Ciao,
    ti posto un esempio di come viene usato il repeater.

    Se non riesci a vederlo potrebbe dipendere dal namespace dell'mx che stai adoperando all'interno del tuo componente MXML

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    19
    ciao..ti ringrazio per la pagina che mi hai postato ma nn riesco a visualizzarla perchè mi da un errore..comunque cosa intendi con namespace dell'mxml?

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    19
    ciao..ho fatto qualche ricerca e ho aggiunto il namespace
    mlns:mx="library://ns.adobe.com/flex/mx" all'interno del tag di apertura <s:view> ma nn riesco ancora a vedere il tag <mx:Repeater>
    é possibile che debba aggiungere qualche altro namespace? perchè oltre il precedente ho anche : xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark".
    Se puoi darmi una mano te ne sarei grato E grazie per la risposta

  5. #5
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da Anghi92
    ciao..ti ringrazio per la pagina che mi hai postato ma nn riesco a visualizzarla perchè mi da un errore..comunque cosa intendi con namespace dell'mxml?
    Prova a mettere anche gli altri due (fx e s) anche se già con l'mx dovrebbe andare

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    19
    ciao..gli altri due erano già inseriti di default quando ho creato il progetto..quindi adesso provo a lasciare solo mx. Poi ti faccio sapere.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    19
    non è possibile levare gli altri due namespace in quando sono fondamentali per poter richiamare i tag script e s:view quindi devo lasciarli. ti rngrazio ancora per l'aiuto.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    19
    ciao..sono riuscito a risolvere il problema ma non utilizzando il repeater ma un datagrid con un itemrender come mi avevi detto tu nell'altro post che poi ho cancellato. Posto qui sotto la parte di codice:
    <sataGrid>
    <s:ArrayCollection id="nome"/> //con questo array si fa il bind dei dati
    <s:columns>
    <s:ArrayList>
    <s:GridColumn dataField="Nome" headerText="Nome"/>
    .. inserire tutte le colonne necessarie
    <s:GridColumn dataField="ColonnaBottone" >
    <s:itemRenderer >
    <fx:Component>
    <s:GridItemRenderer>
    <fx:Script>
    <![CDATA[
    </fx:Script>
    <s:Button id="nomeBottone"/>
    </s:GridItemRenderer>
    </fx:Component>
    </s:itemRenderer>
    </s:GridColumn>
    </s:ArrayList>
    </s:columns>
    </sataGrid>

    l'arraycollection si popola aggiungendogli un oggetto var obj:Object = new Object (arrayC.addItem(obj)) al quale è possibile assegnare le proprietà che ci occorrono (obj.Nome = "nome").
    importante che il datafield della gridcolumn abbia lo stesso nome delle proprietà dell'oggetto obj (facendo distinzione tra maiuscole e minuscole) esempio <s:GridColumn dataField="Nome" headerText="Nome"/>.
    Per quanto riguarda l'itemrender è possibile fare come ho fatto io, ovvero, inserire direttamente lo script e il componente da visualizzare nella colonna, quindi tutto quello che c'è all'interno dell'itemrender, oppure è possibile creare un componente itemrender e richiamarlo all'interno della gridcolumn ne seguente modo <s:GridColumn headerText="Bottone" itemRenderer="nomeDelComponenteItemRender"/>, levando tutto ciò che è presente nell'<s:itemrender> compreso.
    Importante è che nello script interno non è possibile accedere a funzioni create all'inteno del tag <fx:Script> della pagina principale.
    Joe Taras ti ringrazio molto per l'aiuto.
    Spero di essere stato chiaro.

  9. #9
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    955
    Originariamente inviato da Anghi92
    ciao..sono riuscito a risolvere il problema ma non utilizzando il repeater ma un datagrid con un itemrender come mi avevi detto tu nell'altro post che poi ho cancellato. Posto qui sotto la parte di codice:
    <sataGrid>
    <s:ArrayCollection id="nome"/> //con questo array si fa il bind dei dati
    <s:columns>
    <s:ArrayList>
    <s:GridColumn dataField="Nome" headerText="Nome"/>
    .. inserire tutte le colonne necessarie
    <s:GridColumn dataField="ColonnaBottone" >
    <s:itemRenderer >
    <fx:Component>
    <s:GridItemRenderer>
    <fx:Script>
    <![CDATA[
    </fx:Script>
    <s:Button id="nomeBottone"/>
    </s:GridItemRenderer>
    </fx:Component>
    </s:itemRenderer>
    </s:GridColumn>
    </s:ArrayList>
    </s:columns>
    </sataGrid>

    l'arraycollection si popola aggiungendogli un oggetto var obj:Object = new Object (arrayC.addItem(obj)) al quale è possibile assegnare le proprietà che ci occorrono (obj.Nome = "nome").
    importante che il datafield della gridcolumn abbia lo stesso nome delle proprietà dell'oggetto obj (facendo distinzione tra maiuscole e minuscole) esempio <s:GridColumn dataField="Nome" headerText="Nome"/>.
    Per quanto riguarda l'itemrender è possibile fare come ho fatto io, ovvero, inserire direttamente lo script e il componente da visualizzare nella colonna, quindi tutto quello che c'è all'interno dell'itemrender, oppure è possibile creare un componente itemrender e richiamarlo all'interno della gridcolumn ne seguente modo <s:GridColumn headerText="Bottone" itemRenderer="nomeDelComponenteItemRender"/>, levando tutto ciò che è presente nell'<s:itemrender> compreso.
    Importante è che nello script interno non è possibile accedere a funzioni create all'inteno del tag <fx:Script> della pagina principale.
    Joe Taras ti ringrazio molto per l'aiuto.
    Spero di essere stato chiaro.
    Ciao Anghi92,
    sono contento che ti funzioni tutto, un appunto. Puoi accedere a proprietà e metodi pubblici definiti nel tag fx:script principale da dentro la porzione di codice del render, basta adoperare l'oggetto outerDocument.

    Buona serata

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2011
    Messaggi
    19
    Ciao Joe Taras, grazie per l'aiuto che si potesse usare outerDocument non lo sapevo. Adesso farò qualche ricerca così almeno in caso di necessità potrei usarlo Grazie ancora

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.