Olá pessoal! Firme?
Estou com um probleminha com um AdvancedDataGrid e não sei nem como
explicar direito, mas vamos lá!
Por favor vejam essa imagem:
http://flexdev.googlegroups.com/web/img.gif?gda=p2MZcTkAAAD7Tl1Myh4933faKLuFvqp_c2jpWfwwt4vsXHei7f4-faLtiNLud0F8ZpwUWFrGskmECKgQbmraGdxlZulaYnsh&gsc=Axj7nQsAAADdteujMY4chXURU-Ssa-Lx

Meu ADG faz dois agrupamentos: um por "referência" (que é o endereço
do local; segundo nível) e por data (primeiro nível).
Eu utilizo o summaryFunction para poder gerar aquela última coluna que
é uma média dos valores.
O problema: quando o usuário escolher as informações de TEMPO, o maior
nível (de data) deverá apresentar uma SOMA das médias dos níveis
abaixo e não uma média deles (como está agora).
No exemplo da imagem ele mostra 9.26 na coluna B/C, porém deveria ser
18.52, que é a soma das duas médias.
O código para gerar esse agrupamento (que é dinâmico) é o seguinte:
----------------------
        private function gerarAgrupamento():void {
                var myGColl:GroupingCollection2 = new GroupingCollection2();
                var group:Grouping = new Grouping();
                var sr:SummaryRow = new SummaryRow();
                var sfA:SummaryField = new SummaryField();
                var sfB:SummaryField = new SummaryField();

                myGColl.source = dgRelatorioVel.dataProvider;
                sr.summaryObjectFunction = objFunc;

                sfA.dataField = "VM_BC";
                sfA.label = "mediaBC";
                sfA.summaryFunction = summFunc;
                sfB.dataField = "VM_CB";
                sfB.label = "mediaCB";
                sfB.summaryFunction = summFunc;

                sr.fields = [sfA,sfB];
                sr.summaryPlacement = "group";

                var gfDataGravacao:GroupingField = new GroupingField();
                gfDataGravacao.name = "data_gravacao";
                gfDataGravacao.summaries=[sr];

                if(!btTodosTrechos.selected) {
                        var gfReferencia:GroupingField = new GroupingField();
                        gfReferencia.name = "referencia";
                        gfReferencia.summaries=[sr];
                        group.fields = [gfDataGravacao,gfReferencia];
                } else {
                        group.fields = [gfDataGravacao];
                }

                myGColl.grouping = group;
                myGColl.refresh();
                dgRelatorioVel.dataProvider = myGColl;
                dgRelatorioVel.validateNow();
        }

        private function summFunc(cursor:IViewCursor, dataField:String,
operation:String):Number {
                var _auxConta:Number = 0;
                var oddConta:String;
                var count:int = 0;
                var cor:uint;

                while(!cursor.afterLast) {
                        _auxConta += cursor.current[dataField];

                        cursor.moveNext();
                        count++;
                }

                oddConta = (_auxConta/count).toFixed(2);

                return parseFloat(oddConta);
        }
----------------------

Alguém tem alguma idéia de como posso resolver isso?
Desculpem pela extensão do post, mas foi a forma que encontrei para
explicar meu problema! ehehe.

Abraços e muito obrigado.
--~--~---------~--~----~------------~-------~--~----~
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