It looks like "_DataGridStyle" wasn't being compiled into the project. I
couldn't even access it manually. Creating a variable of type DataGrid in
applicationComplete fixes the problem. I'll file a bug. Thanks for the
help in tracking it down.
- Dan Freiman
On 10/22/07, Daniel Freiman <[EMAIL PROTECTED]> wrote:
>
> Yup,
>
> "_DataGridStyle" isn't being added to the mixins in
> _app_mx_managers_SystemManager
>
> - Dan Freiman
>
> On 10/22/07, Daniel Freiman <[EMAIL PROTECTED]> wrote:
> >
> > I haven't been able to recreate this bug in another app even if the app
> > is inside the same project and I call the exact same classes/methods that
> > create the error.
> >
> > However, I did find that the StyleManager(Imp) doesn't have a "DataGrid"
> > selector. On applicationComplete I call:
> >
> > var obj:Object = StyleManager.getStyleDeclaration("DateChooser"); //
> > returns a CSSStyleDeclaration
> > var obj2:Object = StyleManager.getStyleDeclaration("DataGrid"); //
> > returns null
> >
> > I think this is my problem. I'm not sure how to solve it yet. I've
> > tried cleaning the project which didn't work. I guess if all else fails I
> > can copy _DataStyleGrid.as from the generated folder and manually
> > instantiate execute it, but I'd rather it work correctly if possible. Any
> > thoughts/advice would be appreciated.
> >
> > Thanks,
> >
> > - Dan Freiman
> >
> > On 10/20/07, Alex Harui < [EMAIL PROTECTED]> wrote:
> > >
> > > The style chain is broken or damaged. I would debug into it. If
> > > you can make a simple test case I'll take a look
> > >
> > >
> > > ------------------------------
> > >
> > > *From:* [EMAIL PROTECTED] ups.com [mailto: [EMAIL PROTECTED]
> > > *On Behalf Of *Daniel Freiman
> > > *Sent:* Saturday, October 20, 2007 9:34 AM
> > > *To:* [email protected]
> > > *Subject:* Re: [flexcoders] DataGrid not initializing default styles
> > >
> > >
> > >
> > > addPopUp is called the line before centerPopUp. Also, the second
> > > error is thrown after user interaction with the PopUp (not user
> > > interaction
> > > with the DataGrid though) so it's definitely been created already before
> > > the
> > > second error.
> > >
> > > - Dan Freiman
> > >
> > > On 10/19/07, *Alex Harui* <[EMAIL PROTECTED]> wrote:
> > >
> > > Could you be centering a popup that hasn't been addPopUp'd?
> > >
> > >
> > > ------------------------------
> > >
> > > * From:* [EMAIL PROTECTED] ups.com [mailto:[EMAIL PROTECTED]
> > > *On Behalf Of *Daniel Freiman
> > > *Sent:* Friday, October 19, 2007 4:52 PM
> > > *To:* [email protected]
> > > *Subject:* Re: [flexcoders] DataGrid not initializing default styles
> > >
> > >
> > >
> > > Nope, it's just a plain DataGrid. All I touched was
> > > percentWidth/Height, minColumnWidth, draggable/resizableColumns and
> > > dataProvider. It's in the same popup as my earlier layout bug (Nested
> > > containers inside a PopUp.) Although I haven't been able to recreate in a
> > > contained example yet.
> > >
> > > - Dan Freiman
> > >
> > > On 10/19/07, *Alex Harui* <[EMAIL PROTECTED]> wrote:
> > >
> > > Did you subclass DG? Alter its styles?
> > >
> > >
> > > ------------------------------
> > >
> > > * From:* [EMAIL PROTECTED] ups.com [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:\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\UICompon ent.as:7909]
> > > at
> > > mx.core::UIComponent/mx.core:UIComponent::callLaterDispatcher()[C:\dev\flex_201_gmc\sdk\frameworks\mx\core\UICompon
> > > ent.as:7852]
> > >
> > > - Dan Freiman
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> >
>