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