Então Fabio,

O problema é como passar informação para o meu componente pelo
intemrender, se eu estou trabalhando em ActionScript
Eu tenho um classe que extende um datagrid e este cria as colunas em
runtime, e nem sou eu que dou os nomes para as colunas é um for de 52
laços e neste caso os nomas da colunas ficam coluna1, coluna2, coluna3
e por ai vai até coluna52, o problema algumas colunas podem ter que
tratar um componente interno de forma diferente... então eu não
consigo saber qual coluna meu componente esta para saber como gerencia-
lo.


package componentes.visuais.componentesPlanilha
{
        import mx.controls.DataGrid;

        public class DataGridMetricaConsumidor extends DataGrid
        {

                private var arrayColunas:Array;
                private var totalSemanas:uint = 10;

                public function DataGridMetricaConsumidor()
                {
                        super();

                        this.arrayColunas = new Array();
                        this.arrayColunas.push(new ColunaIndice);
                        this.arrayColunas.push(new ColunaDesrcicaoConsumidor);
                                for(var i:uint = 1 ; i <= totalSemanas ; i++){
                                        this.arrayColunas.push(new 
ColunaSemanasConsumidor(i+"º
Semana"));
                                }
                        this.arrayColunas.push(new ColunaTotal);

                        this.columns = this.arrayColunas;
                }
        }
}



package componentes.visuais.componentesPlanilha
{
        import mx.controls.dataGridClasses.DataGridColumn;
        import mx.core.ClassFactory;

        public class ColunaSemanasConsumidor extends DataGridColumn
        {
                private var componenteRender:ClassFactory = new
ClassFactory(ComponenteLinhas); // como posso passar dados para este
cara aqui!?? entende...

                public function ColunaSemanasConsumidor(columnName:String=null)
                {
                        super(columnName);
                        this.itemRenderer = componenteRender;
                }

        }
}


<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml";
        horizontalAlign="center"
        verticalAlign="middle"
        horizontalGap="0"
        verticalGap="0"
        horizontalScrollPolicy="off"
        creationComplete="init();" >

        <mx:Script>
                <![CDATA[
                        import componentes.dados.CalculosSemanas;
                        import mx.controls.Alert;
                        import mx.controls.dataGridClasses.DataGridColumn;
                        import mx.controls.DataGrid;

                        private function init():void{
                                CalculosSemanas.setColunaCorrente(data);
                        }


                        private function monitorColunas():void{
                                //CalculosSemanas.setColunaCorrente(data);

                        }
                ]]>
        </mx:Script>

        <mx:Label text="{CalculosSemanas.getColunaCorrente()}" width="100"
textAlign="center"/>

</mx:HBox>

On 2 jun, 16:49, Fábio Goll <fabiog...@gmail.com> wrote:
> Você tem algumas opções:
>
> - Envia um parametro para o itemRenderer, no meu caso, "campo" é a variavel
> public no meu componente:
>
> <mx:DataGridColumn headerText="Ajuste"
> dataField="percentualAjuste"
> editorDataField="valor"
> labelFunction="percLabelFunction" minWidth="50">
> <mx:itemEditor>
> <mx:Component>
> <componentes:ValoresRenderer campo="percentualAjuste" />
> </mx:Component>
> </mx:itemEditor>
> </mx:DataGridColumn>
>
> Ou vc captura o dataField informado na column através da variável listData
> no seu itemRenderer
> que é populada automagicamente, pois o seu itemrenderer implementa 
> o:http://livedocs.adobe.com/flex/3/langref/mx/controls/listClasses/IDro...
>
> <http://livedocs.adobe.com/flex/3/langref/mx/controls/listClasses/IDro...>que
> por sua vez tem a propriedade 
> dateField:http://livedocs.adobe.com/flex/3/langref/mx/controls/dataGridClasses/...
>
> 2010/6/2 Squik <rodrigower...@gmail.com>
>
>
>
>
>
> > O irmãozinho pega leve e da um help ai para nós, a historinha é só
> > para descontrair mesmo.. he he he.
>
> > valew!
>
> > On 2 jun, 16:06, Pimenta <brunofpime...@gmail.com> wrote:
> > > É cada maluco...
> > > Não era mais fácil, prático e rápido você descrever o seu problema ao
> > invés
> > > de contar uma histórinha muquirana dessas?
>
> > > Em 2 de junho de 2010 15:59, Squik <rodrigower...@gmail.com> escreveu:
>
> > > > Olá querido colegas,
>
> > > > Fui ver meu neurologista ontem, disse a ele que minha enxaqueca estava
> > > > me matando... ele perguntou se eu tive alguma mudança da hábito
> > > > recentemente, e eu disse que não. Então ele me perguntou se eu estava
> > > > muito ansioso, eu disse para ele que sim, precisa entregar um projeto,
> > > > e não via a hora de deixá-lo pronto, porém segundo ele isto não era o
> > > > motivo da enxaqueca.. ai ele me perguntou se eu trabalhava com Adobe
> > > > Flex.. Então eu disse que sim. Então fiquei surpreso quando ele me
> > > > perguntou: Você andou tentando usar render em DATAGRIDS?
>
> > > > Eu disse: Sim Doutor, eu andei tentando capturar o nome da coluna do
> > > > meu DATAGRID a partir de um componente renderizado pela função
> > > > itemrender do Datagridcolumn, e dependendo da coluna o componente pode
> > > > variar.
>
> > > > Ele me perguntou: E você conseguiu obter a informação da coluna para
> > > > manipular seu componente? Ai eu disse: O fato de eu estar aqui
> > > > responde sua pergunta? (rsrsrs).
>
> > > > Então como todo bom médico ele me encaminhou para a o grupo “flexdev”.
> > > > Então se puderem me ajudar com minha enxaqueca eu sou muito grato.
> > > > Pelo menos para eu passar bem este feriado.
>
> > > > Abraço amigos!
>
> > > > --
> > > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > > Para enviar uma mensagem, envie um e-mail para
> > flexdev@googlegroups.com
> > > > Para sair da lista, envie um email em branco para
> > > > flexdev-unsubscr...@googlegroups.com
> > > > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev
>
> > > --
> > > -------------------------------------------------------------
> > > Desenvolvedor Java Pleno
> > > CSM, Certified ScrumMaster
> > > ----------------------------
> > > Bruno PIMENTA
> > > Cel: 21 7864.5857
> > > MSN: pimenta-br...@hotmail.com
> > > -------------------------------------------------------------
>
> > --
> > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> > Para sair da lista, envie um email em branco para
> > flexdev-unsubscr...@googlegroups.com
> > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev
>
> --
> Fábio Goll
> Gtalk/Msn: fabiog...@gmail.com
> Twitter: @fabiogoll

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a