this is my code which creates a Dynamic Advanced Datagrid. It works
fine wen i have this component only once in my application. Consider
my application has a view stack and it indeed has two mxml files. If
am gonna use this component in both the files it gives me the "Stack
Over Flow Error". Below is the error trace and my code. The components
are created in the commitProperties();
----------------------------------------------------------------------------------------------------------------------------------
Error #1023: Stack overflow occurred.
at ModuleManagerImpl/getAssociatedFactory()[E:\dev\3.0.x\frameworks
\projects\framework\src\mx\modules\ModuleManager.as:148]
at mx.modules::ModuleManager$/getAssociatedFactory()[E:\dev\3.0.x
\frameworks\projects\framework\src\mx\modules\ModuleManager.as:63]
at mx.core::UIComponent/getClassStyleDeclarations()[E:\dev\3.0.x
\frameworks\projects\framework\src\mx\core\UIComponent.as:7406]
at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/
internal::initProtoChain()[E:\dev\3.0.x\frameworks\projects\framework
\src\mx\core\UIComponent.as:7350]
at mx.core::UIComponent/regenerateStyleCache()[E:\dev\3.0.x\frameworks
\projects\framework\src\mx\core\UIComponent.as:7525]
at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/
internal::addingChild()[E:\dev\3.0.x\frameworks\projects\framework\src
\mx\core\UIComponent.as:5131]
at mx.core::Container/http://www.adobe.com/2006/flex/mx/
internal::addingChild()[E:\dev\3.0.x\frameworks\projects\framework\src
\mx\core\Container.as:3254]
at mx.core::Container/addChildAt()[E:\dev\3.0.x\frameworks\projects
\framework\src\mx\core\Container.as:2200]
at mx.core::Container/addChild()[E:\dev\3.0.x\frameworks\projects
\framework\src\mx\core\Container.as:2140]
at mx.core::Container/createComponentFromDescriptor()[E:\dev\3.0.x
\frameworks\projects\framework\src\mx\core\Container.as:3673]
at mx.core::Container/createComponentsFromDescriptors()[E:\dev\3.0.x
\frameworks\projects\framework\src\mx\core\Container.as:3485]
at mx.core::Container/createChildren()[E:\dev\3.0.x\frameworks
\projects\framework\src\mx\core\Container.as:2587]
at mx.core::UIComponent/initialize()[E:\dev\3.0.x\frameworks\projects
\framework\src\mx\core\UIComponent.as:5262]
at mx.core::Container/initialize()[E:\dev\3.0.x\frameworks\projects
\framework\src\mx\core\Container.as:2524]
at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/
internal::childAdded()[E:\dev\3.0.x\frameworks\projects\framework\src
\mx\core\UIComponent.as:5159]
at mx.core::Container/http://www.adobe.com/2006/flex/mx/
internal::childAdded()[E:\dev\3.0.x\frameworks\projects\framework\src
\mx\core\Container.as:3297]
at mx.core::Container/addChildAt()[E:\dev\3.0.x\frameworks\projects
\framework\src\mx\core\Container.as:2210]
at mx.core::Container/addChild()[E:\dev\3.0.x\frameworks\projects
\framework\src\mx\core\Container.as:2140]
at mx.core::Container/createComponentFromDescriptor()[E:\dev\3.0.x
\frameworks\projects\framework\src\mx\core\Container.as:3673]
at mx.core::Container/createComponentsFromDescriptors()[E:\dev\3.0.x
\frameworks\projects\framework\src\mx\core\Container.as:3485]
at mx.core::Container/createChildren()[E:\dev\3.0.x\frameworks
\projects\framework\src\mx\core\Container.as:2587]
at com.citi.ipbgoogle.renderers::toggleRenderer/createChildren()[D:
\Google-PT\src\com\citi\ipbgoogle\renderers\toggleRenderer.mxml:
78]......................................
-----------------------------------------------------------------------------------------------------------------------------------
var columnGroups:ArrayCollection = new ArrayCollection();
var columns:ArrayCollection = new
ArrayCollection();
var
advancedDataGridColumn:AdvancedDataGridColumn= null;
// _columnHeaders = [];
// _dataFields = [];
var imageDatagridColumnGroup:ImageDatagridColumnGroup;
if(columnGroups != null && columnGroups.length == 0 &&
_columnsCollection != null) {
for(var i:int = 0; i <
_columnsCollection.length; i++) {
if((_columnsCollection.getItemAt(i) as
Object).ac == null) {
advancedDataGridColumn = new
AdvancedDataGridColumn();
advancedDataGridColumn.sortable
= false;
advancedDataGridColumn.editable
= false;
advancedDataGridColumn.headerText =
(_columnsCollection.getItemAt(i) as Object).headerText;
advancedDataGridColumn.headerWordWrap = true;
advancedDataGridColumn.dataField =
(_columnsCollection.getItemAt(i) as Object).dataField;
if( i == 0)
advancedDataGridColumn.width = 250;
//
_columnHeaders.push((_columnsCollection.getItemAt(i) as
Object).headerText);
//
_dataFields.push((_columnsCollection.getItemAt(i) as
Object).dataField);
columnGroups.addItem(advancedDataGridColumn);
} else {
columns = new ArrayCollection();
for(var j:int = 0; j <
((_columnsCollection.getItemAt(i) as
Object).ac as ArrayCollection).length; j++) {
advancedDataGridColumn
= new AdvancedDataGridColumn();
advancedDataGridColumn.sortable = false;
advancedDataGridColumn.editable = false;
advancedDataGridColumn.headerText =
(((_columnsCollection.getItemAt(i) as Object).ac as
ArrayCollection).getItemAt(j) as Object).headerText;
advancedDataGridColumn.dataField =
(((_columnsCollection.getItemAt(i) as Object).ac as
ArrayCollection).getItemAt(j) as Object).dataField;
//
if(imageDatagridColumnGroup.children == null)
imageDatagridColumnGroup.children = [];
columns.addItem(advancedDataGridColumn);
//
imageDatagridColumnGroup.children.push(advancedDataGridColumn);
// break;
}
imageDatagridColumnGroup = new
ImageDatagridColumnGroup();
imageDatagridColumnGroup.headerText =
(_columnsCollection.getItemAt(i) as Object).headerText;
imageDatagridColumnGroup.flag =
true;
imageDatagridColumnGroup.sortable = false;
imageDatagridColumnGroup.editable = false;
imageDatagridColumnGroup.children = columns.source;
columnGroups.addItem(imageDatagridColumnGroup);
//
gcArray.push(imageDatagridColumnGroup);
// gcArray.push(_fArray.pop());
trace(this.parent +
"<--->" + columnGroups.length);
}
}
}
this.groupedColumns = columnGroups.source;
-----------------------------------------------------------------------------------------------------------------------------------
Get me out of this
--
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.