Hi

I am working on a Reporting application.Application contains tabular reports
& the number of columns in the table is dynamic.
So I am  creating these columns runtime in actionscript but its not working
as expected.
Here is the code which I have tried.I am not getting whats going wrong in
this code.


Code:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
    layout="absolute"
    xmlns:panels="com.sas.dis.view.panels.*"
    xmlns:controls="com.sas.dis.view.controls.*"
    creationComplete="init()">
 <mx:Script>
  <![CDATA[

                    import
mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
                    import
mx.controls.advancedDataGridClasses.AdvancedDataGridColumnGroup;
                    import mx.collections.ArrayCollection;



   [Bindable]
   private var dataSource:ArrayCollection

   private function init():void
   {
               dataSource=getData();

               var fiscalYearColumnGrp:AdvancedDataGridColumnGroup=new
AdvancedDataGridColumnGroup();
               fiscalYearColumnGrp.headerText="Planned Amount";
               fiscalYearColumnGrp.headerWordWrap=true;

               var mediaTotalfiscalYearColumns:Array=new Array();

               var colObj1:AdvancedDataGridColumn=new
AdvancedDataGridColumn();
               colObj1.dataField="2011_plannnedAmt";
                colObj1.headerText="2011";
               colObj1.mx_internal::colNum=1;

              var colObj2:AdvancedDataGridColumn=new
AdvancedDataGridColumn();
              colObj2.dataField="2012_plannnedAmt";
              colObj2.headerText="2012";
              colObj2.mx_internal::colNum=2;

              mediaTotalfiscalYearColumns.push(colObj1);
              mediaTotalfiscalYearColumns.push(colObj2);

              fiscalYearColumnGrp.children=mediaTotalfiscalYearColumns;

              var colObj3:AdvancedDataGridColumn=new
AdvancedDataGridColumn();
              colObj3.dataField="name";
               colObj3.headerText="name";
              colObj3.mx_internal::colNum=0;

             var columns:Array=new Array();
             columns.push(colObj3);
             columns.push(fiscalYearColumnGrp);
             tabularReport.groupedColumns=new Array();
             for (var i:int=0; i < columns.length; i++)
             {
                           if (tabularReport.groupedColumns)
                          {

tabularReport.groupedColumns.push(columns[i]);
                          }
             }
            dataSource.refresh();
   }

   private function getData():ArrayCollection
   {
          var dataSourceCol:ArrayCollection=new ArrayCollection();
          var obj:Object=new Object();
          obj.name="Paid Media";
          obj["2011_plannedAmt"]=100;
          obj["2012_plannedAmt"]=1900;
          dataSourceCol.addItem(obj);

         var obj1:Object=new Object();
         obj1.name="National Media";
         obj1["2011_plannedAmt"]=200;
         obj1["2012_plannedAmt"]=2900;
         dataSourceCol.addItem(obj1);

         return dataSourceCol;
   }
  ]]>
 </mx:Script>
 <!--<mx:Array id="columnsCol">
  <mx:AdvancedDataGridColumn dataField="name"
           headerText="Name"/>
  <mx:AdvancedDataGridColumnGroup headerText="Planned Amt"
          id="fiscalYearGrp">
   <mx:AdvancedDataGridColumn dataField="2011_plannedAmt"
            headerText="2011"/>
   <mx:AdvancedDataGridColumn dataField="2012_plannedAmt"
            headerText="2012"/>
  </mx:AdvancedDataGridColumnGroup>
 </mx:Array>-->
 <!--<controls:CustomDataGridReport width="100%" height="100%" id="dg"/>-->
 <mx:AdvancedDataGrid id="tabularReport"
          width="100%"
          dataProvider="{dataSource}"
          horizontalGridLines="false"
          draggableColumns="false"
          sortableColumns="false"
          resizableColumns="false"
          sortExpertMode="true"
          verticalScrollPolicy="off"
          horizontalScrollPolicy="off"
          selectable="false"
          variableRowHeight="true"
          rowCount="{dataSource.length+2}">
 </mx:AdvancedDataGrid>
</mx:Application>


Can anyone pls help me out?Its very urgent!!

Thanks in advance
Amruta

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