Did you subclass DG?  Alter its styles?

 

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Daniel Freiman
Sent: Friday, October 19, 2007 2:37 PM
To: flexcoders
Subject: [flexcoders] DataGrid not initializing default styles

 

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:\de
v\flex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:2573]
    at
mx.controls::DataGrid/mx.controls:DataGrid::updateDisplayList()[C:\dev\f
lex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:1257] 
    at
mx.core::UIComponent/validateDisplayList()[C:\dev\flex_201_gmc\sdk\frame
works\mx\core\UIComponent.as:5760]
    at
mx.managers::LayoutManager/validateClient()[C:\dev\flex_201_gmc\sdk\fram
eworks\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\fram
eworks\mx\managers\PopUpManagerImpl.as:336] 
    at
mx.managers::PopUpManager$/centerPopUp()[C:\dev\flex_201_gmc\sdk\framewo
rks\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.i
mprov.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\f
lex_201_gmc\sdk\frameworks\mx\controls\DataGrid.as:1269]
    at
mx.core::ScrollControlBase/mx.core:ScrollControlBase::setScrollBarProper
ties
()[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::upda
teDisplayList()[C:\dev\flex_201_gmc\sdk\frameworks\mx\controls\listClass
es\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\frame
works\mx\core\UIComponent.as:5760]
    at
mx.managers::LayoutManager/mx.managers:LayoutManager::validateDisplayLis
t
()[C:\dev\flex_201_gmc\sdk\frameworks\mx\managers\LayoutManager.as:600]
    at
mx.managers::LayoutManager/mx.managers:LayoutManager::doPhasedInstantiat
ion()[C:\dev\flex_201_gmc\sdk\frameworks\mx\managers\LayoutManager.as:67
3] 
    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