I'm getting a situation where a Datagrid is not initializing it's default
styles and is causing runtime errors when datagrid functions try to retrieve
and operate on styles that are null.  I'm getting two errors which I'm
hoping will look familiar to someone:

The first one occurs when the PopUpManager is validating a new popup
container of which the datagrid is a descendant:

TypeError: Error #1009: Cannot access a property or method of a null object
reference.
    at mx.controls::DataGrid/mx.controls:DataGrid::drawHeaderBackground
()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:2573]
    at 
mx.controls::DataGrid/mx.controls:DataGrid::updateDisplayList()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:1257]

    at mx.core::UIComponent/validateDisplayList
()[C:\dev\flex_201_gmc\sdk\frameworks\mx\core\UIComponent.as:5760]
    at 
mx.managers::LayoutManager/validateClient()[C:\dev\flex_201_gmc\sdk\frameworks\mx\managers\LayoutManager.as:858]

    at mx.core::UIComponent/validateNow
()[C:\dev\flex_201_gmc\sdk\frameworks\mx\core\UIComponent.as:5218]
    at 
mx.managers::PopUpManagerImpl/centerPopUp()[C:\dev\flex_201_gmc\sdk\frameworks\mx\managers\PopUpManagerImpl.as:336]

    at mx.managers::PopUpManager$/centerPopUp
()[C:\dev\flex_201_gmc\sdk\frameworks\mx\managers\PopUpManager.as:163]
    at com.colorquick.improv.managers::PaneManager$/openPane()[C:\Documents
and Settings\Daniel\My Documents\Flex Builder
2\Improv2\com\colorquick\improv\managers\PaneManager.as:98]
    at
com.colorquick.improv.toolbars.controls::DAMBrowseLists/com.colorquick.improv.toolbars.controls:DAMBrowseLists::clickHandler()[C:\Documents
and Settings\Daniel\My Documents\Flex Builder
2\Improv2\com\colorquick\improv\toolbars\controls\DAMBrowseLists.as:24]

If I workaround this error, the second one gets thrown after the
dataprovider and columns properties are updated:

TypeError: Error #1007: Instantiation attempted on a non-constructor.
    at 
mx.controls::DataGrid/mx.controls:DataGrid::drawSeparators()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:2896]
    at mx.controls::DataGrid/mx.controls:DataGrid::updateDisplayList
()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:1269]
    at
mx.core::ScrollControlBase/mx.core:ScrollControlBase::setScrollBarProperties()[C:\dev\flex_201_gmc\sdk\frameworks\mx\core\ScrollControlBase.as:1084]
    at mx.controls::DataGrid/mx.controls:DataGrid::configureScrollBars
()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:1791]
    at
mx.controls.listClasses::ListBase/mx.controls.listClasses:ListBase::updateDisplayList
()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\listClasses\ListBase.as:2972]
    at 
mx.controls::DataGrid/mx.controls:DataGrid::updateDisplayList()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:1208]
    at mx.core::UIComponent/validateDisplayList
()[C:\dev\flex_201_gmc\sdk\frameworks\mx\core\UIComponent.as:5760]
    at
mx.managers::LayoutManager/mx.managers:LayoutManager::validateDisplayList()[C:\dev\flex_201_gmc\sdk\frameworks\mx\managers\LayoutManager.as:600]
    at
mx.managers::LayoutManager/mx.managers:LayoutManager::doPhasedInstantiation()[C:\dev\flex_201_gmc\sdk\frameworks\mx\managers\LayoutManager.as:673]

    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at mx.core::UIComponent/mx.core:UIComponent::callLaterDispatcher2
()[C:\dev\flex_201_gmc\sdk\frameworks\mx\core\UIComponent.as:7909]
    at 
mx.core::UIComponent/mx.core:UIComponent::callLaterDispatcher()[C:\dev\flex_201_gmc\sdk\frameworks\mx\core\UIComponent.as:7852]

- Dan Freiman

Reply via email to