Uploaded image for project: 'Apache Flex'
  1. Apache Flex
  2. FLEX-34022

Null object reference when setting columns on Spark DataGrid

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Not A Problem
    • Apache Flex 4.9.0, Apache Flex 4.11.0
    • None
    • Spark: DataGrid
    • None
    • Mac OS X

    Description

      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]

      Attachments

        Activity

          People

            jmclean Justin Mclean
            cjaube Curtis J. Aube
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: