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
-~----------~----~----~----~------~----~------~--~---

Reply via email to