Tenho um ArrayCollection que é o dataProvider da grid, então faço uma query que retorna uma lista e jogo para o dataProvider…(Se quiserem, posto o código da Datagrid)
Eu até tentei inserir no último registro da lista as informações que vão no rodapé e deixar em negrito, mas o resultado não fica dos melhores…
Queria algo parecido com a segunda grid…alguma sugestão?
Veja sobre o AdvancedDataGrid. Ele não aprensenta os dados como rodapé, vc os agrupa e coloca totais. Vc também poderia fazer isso customizando o itemRenderer.
renzonuccitelli
Toma aí um código de exemplo que fiz para um curso de flex:
<?xmlversion="1.0"encoding="utf-8"?><s:WindowedApplicationxmlns:fx="http://ns.adobe.com/mxml/2009"xmlns:s="library://ns.adobe.com/flex/spark"xmlns:mx="library://ns.adobe.com/flex/mx"minWidth="955"minHeight="600"creationComplete="application1_creationCompleteHandler(event)"><s:layout><s:VerticalLayout/></s:layout><fx:Script><![CDATA[importmx.collections.ArrayCollection;importmx.collections.Grouping;importmx.collections.GroupingCollection2;importmx.collections.GroupingField;importmx.collections.SummaryField2;importmx.collections.SummaryObject;importmx.collections.SummaryRow;importmx.events.FlexEvent;importmx.utils.ObjectUtil;[Bindable]publicvarcollection:ArrayCollection=newArrayCollection([{loja:"Centro",vendedor:"Renzo",valor:12.22,estimativa:10},{loja:"Centro",vendedor:"Edinei",valor:12.22,estimativa:10},{loja:"Centro",vendedor:"Renzo",valor:11.22,estimativa:9}]);[Bindable]publicvargroupCollection:GroupingCollection2;protectedfunctionapplication1_creationCompleteHandler(event:FlexEvent):void{vargroupping:Grouping=newGrouping;vargroupingField:GroupingField=newGroupingField("vendedor");varsummaryRow:SummaryRow=newSummaryRow;summaryRow.summaryPlacement="group";varsummaryField:SummaryField2=newSummaryField2("valor");summaryField.label="soma";summaryRow.fields=[summaryField];groupingField.summaries=[summaryRow];groupping.fields=[groupingField];groupCollection=newGroupingCollection2groupCollection.grouping=groupping;groupCollection.source=collection;groupCollection.refresh();}privatefunctionobjFunc():SummaryObject{varobj:SummaryObject=newSummaryObject();obj.summary=true;returnobj;}privatefunctionlabelFun(obj:Object):String{trace(ObjectUtil.toString(obj));return"label";}]]></fx:Script><fx:Declarations><!--Placenon-visualelements(e.g.,services,valueobjects)here--></fx:Declarations><mx:AdvancedDataGriddataProvider="{collection}"><mx:groupedColumns><mx:AdvancedDataGridColumnheaderText="Loja"dataField="loja"/><mx:AdvancedDataGridColumnheaderText="Vendedor"dataField="vendedor"/><mx:AdvancedDataGridColumnGroupheaderText="Vendas"><mx:AdvancedDataGridColumnheaderText="Valor"dataField="valor"/><mx:AdvancedDataGridColumnheaderText="Estimativa"dataField="estimativa"/></mx:AdvancedDataGridColumnGroup></mx:groupedColumns></mx:AdvancedDataGrid><mx:AdvancedDataGriddataProvider="{groupCollection}"><mx:columns><mx:AdvancedDataGridColumnheaderText="Loja"dataField="loja"/><mx:AdvancedDataGridColumnheaderText="Valor"dataField="valor"/><mx:AdvancedDataGridColumnheaderText="Estimativa"dataField="estimativa"/><mx:AdvancedDataGridColumnheaderText="Soma de Vendas"dataField="soma"/></mx:columns></mx:AdvancedDataGrid></s:WindowedApplication>
No segundo grid ele agrupa o total de vendas na última coluna.
Se for rodar em Flex, troque o WindowedApplication para Application.
[]s
Hebert_Coelho
Cara, não saco nada de Flex não. Só fiz um hello world até hoje.
Tipo, vc não teria como colocar um label ao final de cada coluna da grid não? Uma vez que a coluna tenha tamanho fixo, basta vc colocar seu label lá e alterar o valor.
Nesse caso, a conta final vc faria na sua classe java e passaria já mastigado para o flex. q tal?
0
0nurbs
Valeu pessoal…
Vou testar aqui e retorno quando terminar, vai demorar um pouco…
Valeu!
A
Alex_Maia
Esta semana eu estava com a mesma necessidade e encontrei isso http://code.seanhess.net/?p=17
Com alguns ajustes fica melhor ainda.
flw