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] [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] ups.com] *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] ups.com] *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
>
>
>
>
>
>
>