talvez se vc colocar um condicional dentro do seu laço não resolve??
talvez um atributo no construtor da sua classe ColunaSemanasConsumidor
private var info:Object
public function
ColunaSemanasConsumidor(columnName:String=null,info:Object=null)
{
super(columnName);
this.itemRenderer = componenteRender;
this.info = info
}
talvez algo assim resolva.
Em 2 de junho de 2010 17:28, Squik <[email protected]> escreveu:
> 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 <[email protected]> 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 <[email protected]>
> >
> >
> >
> >
> >
> > > 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 <[email protected]> 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 <[email protected]>
> 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
> > > [email protected]
> > > > > Para sair da lista, envie um email em branco para
> > > > > [email protected]
> > > > > 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: [email protected]
> > > > -------------------------------------------------------------
> >
> > > --
> > > Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> > > Para enviar uma mensagem, envie um e-mail para
> [email protected]
> > > Para sair da lista, envie um email em branco para
> > > [email protected]
> > > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev
> >
> > --
> > Fábio Goll
> > Gtalk/Msn: [email protected]
> > Twitter: @fabiogoll
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev