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 <[email protected]> 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 [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