Pessoal, alguém pode me dar uma ajuda por favor? Consegui resolver de
uma forma diferente, mas ainda não é a ideal.
Eu continuei tirando a média, porém no final eu multiplico essa média
pela quantidade de trechos selecionados para a consulta. Da certinho o
valor da soma, porém gerou um outro problema.
Pergunta: é possível descobrir a quantidade de itens dentro de um
grupo?
Ex.:

10/10/2009
|___ Trecho 1
|___ Trecho 2
|___ |___ Linha 1
|___ |___ Linha 2
|___ Trecho 3

Preciso saber quantos trechos tem (3 no caso).

Valew!




On 24 ago, 16:05, Berkowitz <rafael.rafael...@gmail.com> wrote:
> 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=p2MZcTkAAAD7Tl1Myh493...
>
> 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