[ 
https://issues.apache.org/jira/browse/FLEX-34022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Mclean reassigned FLEX-34022:
------------------------------------

    Assignee: Justin Mclean

> Null object reference when setting columns on Spark DataGrid
> ------------------------------------------------------------
>
>                 Key: FLEX-34022
>                 URL: https://issues.apache.org/jira/browse/FLEX-34022
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Spark: DataGrid
>    Affects Versions: Apache Flex 4.9.0, Apache Flex 4.11.0
>         Environment: Mac OS X
>            Reporter: Curtis Aube
>            Assignee: Justin Mclean
>
> If you set a bindable columns property for the DataGrid before it is 
> initialized and set an itemRenderer for one of the columns, you get a null 
> object reference when the DataGrid is initialized.
> Here is an example:
> <?xml version="1.0" encoding="utf-8"?>
> <s:Application creationComplete="creationComplete()" minHeight="600" 
> minWidth="955" preinitialize="setColumns()" 
> xmlns:fx="http://ns.adobe.com/mxml/2009"; 
> xmlns:mx="library://ns.adobe.com/flex/mx"
>                          xmlns:s="library://ns.adobe.com/flex/spark">
>       <fx:Script>
>               <![CDATA[
>                       import mx.collections.ArrayCollection;
>                       import mx.collections.ArrayList;
>                       import spark.components.gridClasses.GridColumn;
>                       import spark.skins.spark.DefaultItemRenderer;
>                       [Bindable]
>                       private var columns:ArrayList;
>                       [Bindable]
>                       private var dp:ArrayCollection;
>                       private function creationComplete():void
>                       {
>                               var myHistoryItems:Array = new Array;
>                               myHistoryItems.push({filename: "Testing"});
>                               dp = new ArrayCollection(myHistoryItems);
>                       }
>                       private function setColumns():void
>                       {
>                               var column:GridColumn
>                               var myColumns:ArrayList = new ArrayList;
>                               column = new GridColumn("filename");
>                               column.headerText = "Filename";
>                               column.itemRenderer = new 
> ClassFactory(DefaultItemRenderer);
>                               myColumns.addItem(column);
>                               columns = myColumns;
>                       }
>               ]]>
>       </fx:Script>
>       <s:DataGrid height="100%" width="100%" columns="{columns}" 
> dataProvider="{dp}"/>
> </s:Application>
> Here is the stack trace:
> TypeError: Error #1009: Cannot access a property or method of a null object 
> reference.
>       at 
> spark.components::Group/addElement()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/spark/src/spark/components/Group.as:1395]
>       at 
> spark.components.gridClasses::GridLayout/createTypicalItemRenderer()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as:756]
>       at 
> spark.components.gridClasses::GridLayout/updateTypicalCellSizes()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as:891]
>       at 
> spark.components.gridClasses::GridLayout/measure()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as:452]
>       at 
> spark.components.supportClasses::GroupBase/measure()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as:1156]
>       at 
> mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::measureSizes()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/framework/src/mx/core/UIComponent.as:8514]
>       at 
> mx.core::UIComponent/validateSize()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/framework/src/mx/core/UIComponent.as:8438]
>       at 
> spark.components::Group/validateSize()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/spark/src/spark/components/Group.as:1065]
>       at 
> mx.managers::LayoutManager/validateSize()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/framework/src/mx/managers/LayoutManager.as:673]
>       at 
> mx.managers::LayoutManager/doPhasedInstantiation()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/framework/src/mx/managers/LayoutManager.as:800]
>       at 
> mx.managers::LayoutManager/doPhasedInstantiationCallback()[/Users/justinmclean/Documents/ApacheFlexSDK/frameworks/projects/framework/src/mx/managers/LayoutManager.as:1188]



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to