Hi All, I'm trying to generate a summary from arraycollection. I'm not getting the correct results. Could you please take a look at my code?
Thanks Vimal <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.utils.ArrayUtil; import mx.controls.Alert; import mx.collections.IList; import mx.collections.*; import mx.collections.ICollectionView; import mx.collections.ListCollectionView; import mx.collections.ArrayCollection; [Bindable] private var transactions:ArrayCollection = new ArrayCollection ( [ {Register: "1",TransactionType:"Y"}, {Register: "1",TransactionType:"N"}, {Register: "1",TransactionType:"Y"}, {Register: "1",TransactionType:"Y"}, {Register: "1",TransactionType:"Y"}, {Register: "2",TransactionType:"Y"}, {Register: "2",TransactionType:"N"}, {Register: "2",TransactionType:"Y"}, {Register: "2",TransactionType:"Y"}, {Register: "3",TransactionType:"Y"}, {Register: "3",TransactionType:"N"}, {Register: "3",TransactionType:"Y"}, {Register: "3",TransactionType:"Y"} ]); [Bindable] private var FinalArray:ArrayCollection = new ArrayCollection (); private function calcSummary():void{ var prvRegister:String; var o:Object; var dataSortField:SortField = new SortField(); dataSortField.name = "Register"; dataSortField.numeric = true; var numericDataSort:Sort = new Sort(); var dataSortField1:SortField = new SortField(); dataSortField1.name = "TransactionType"; dataSortField1.numeric = true; // var numericDataSort1:Sort = new Sort(); numericDataSort.fields = [dataSortField,dataSortField1]; transactions.sort = numericDataSort; transactions.refresh(); prvRegister =transactions[0].Register; var helpyes:int; var helpno:int; for(var i:int=0; i < transactions.length;i++){ if (transactions[i].Register == prvRegister){ if (transactions[i].TransactionType=="Y"){ helpno =helpno+1; } if (transactions[i].TransactionType =="N"){ helpyes =helpyes+1; } }else if (transactions[i].Register != prvRegister){ o = new Object(); o.Register =prvRegister; o.HELPTOT =helpyes; o.HELPNTOT =helpno; FinalArray.addItem(o); prvRegister = transactions[i].Register; helpyes =0; helpno =0; } } o = new Object(); o.Register =prvRegister; o.HELPTOT =helpyes; o.HELPNTOT =helpno; FinalArray.addItem(o); //prvRegister = transactions[i].Register; helpyes =0; helpno =0; FinalArray.refresh(); //for(var i:int=0; i <FinalArray.length;i++){ // Alert.show("BBBB "+FinalArray[i].Register+" "+FinalArray [i].HELPTOT+" "+FinalArray[i].HELPNTOT); // } A2.dataProvider =FinalArray; A1.dataProvider = transactions; } ]]> </mx:Script> <mx:VBox width="100%" height="100%"> <mx:Button label="SortGrid/Calc sum" click="calcSummary()"/> <mx:DataGrid id="A1" dataProvider="{transactions}" /> <mx:DataGrid id="A2" dataProvider="{FinalArray}"/> </mx:VBox> </mx:Application> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Flex India Community" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/flex_india?hl=en -~----------~----~----~----~------~----~------~--~---

