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.

