O codigo do grid é simples, ele trata somente da primeira coluna. As
demais são adicionadas em tempo de execução, baseado na quantidade de
fornecedores que apresentaram cotações aos produtos da lista.

Produtos |     Fornecedor 1     |     Fornecedor 2     |    . . .
Fornecedor N
--------------|-----------------------------|--------------------------
Caneta    |    [ ] R$1,99          |     [x] R$1,85
--------------|-----------------------------|--------------------------
Gaze      |    [x] R$3,50          |    [ ]

Abaixo está como eu adiciono a coluna e seto os renderers. O
ItemRenderer decide, baseado na propriedade "Fornecedor", qual objeto
do tipo "CotacaoItem" ele deve apresentar. Também consigo, lá dentro
do renderer, capturar o change no CheckBox,mas quero despacha-lo para
tratar no codigo da tela, pq vou precisar tratar o estado do
dataProvider do grid na hora de gerar um pedido de compra com os itens
marcados.

for(var x : int = 0; x < adgCotacoesFornecedoresProvider.length; x++)
{
        var coluna : DataGridColumn = new DataGridColumn();

        var cotacaoHeaderRenderer : ClassFactory = new
ClassFactory(CotacaoFornecedorHeaderBase);
        cotacaoHeaderRenderer.properties = { Fornecedor :
adgCotacoesFornecedoresProvider[x]};
        coluna.headerRenderer = cotacaoHeaderRenderer;

        var cotacaoValorItemRenderer = new
ClassFactory(CotacaoValorItemRenderer);
        cotacaoValorItemRenderer.properties = { Fornecedor :
adgCotacoesFornecedoresProvider[x] };

        coluna.itemRenderer = cotacaoValorItemRenderer;
        coluna.width = 180;
        arrayColunas.push(coluna);
}

A seguir, trecho do Renderer em questão:
.
.
.
        <fx:Metadata>
                [Event(name="checkAlterado", type="flash.events.Event")]
        </fx:Metadata>
         <fx:Script>
                ...
                protected function _chk0_changeHandler(event:Event):void
                        {
                                this.dispatchEvent(new Event("checkAlterado"));
                        }

                ]]>
        </fx:Script>
        <mx:VBox>
                <s:CheckBox id="_chk0" selected="false"
change="_chk0_changeHandler(event)" />
                <s:Label id="_lbl0" text="{getValorEUnidade(data)}" />
                <s:Label id="_lbl1" text="R$999,99 Unid. Medida" />
        </mx:VBox>
</s:MXDataGridItemRenderer>

Então é essa aquestão: como coloco um eventListener nesse cara, pra
poder tratar esse evento do click fora do renderer?
Desculpe a falta de um screen shot/cast, mas temos bloqueio pra tudo
aqui! XD

Obrigado!

On Nov 10, 1:52 pm, bruno bg <bruno...@ig.com.br> wrote:
> manda o código ou um print do dataGrid. ou melhor , se for possível faz um
> screenCast.
>
> brunobg

> @brunogrohs
> (21) 9913-2397

-- 
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

Reply via email to