0

我正在尝试创建一个数据网格组件,并希望它在创建数据网格时向主应用程序发送一个事件。但是,我收到错误说

"Type was not found or was not a compile-time constant:dataGridComp"

"Call to a posibly undefined methoud dataGridComp"

我的组件

<?xml version="1.0" encoding="utf-8"?>

<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"

         xmlns:s="library://ns.adobe.com/flex/spark"

         xmlns:mx="library://ns.adobe.com/flex/mx">



    <fx:Metadata>   //declare my event

        [Event(name="dataGridComp", type="flash.events.Event")]

    </fx:Metadata>



    <fx:Script>

        <![CDATA[

            import mx.events.FlexEvent;



            protected function dataGrid_creationCompleteHandler(event:FlexEvent):void

            {

                // TODO Auto-generated method stub

                 var e:dataGridComp = new dataGridComp("dataGridComp"); //problem here

                dispatchEvent(e);   //want to dispatch my event object when the datagrid is created

            }



        ]]>

    </fx:Script>



    <s:DataGrid id="dataGrid" editable="true" x="51" y="34" width="734" height="153"

                creationComplete="dataGrid_creationCompleteHandler(event)" requestedRowCount="4">

      ........

      ..........

    </s:DataGrid>

</s:Group>

知道如何解决这个问题吗?我很感激任何帮助。非常感谢。

4

1 回答 1

0

您可以更改/考虑的几件事:

1)要调度您的自定义事件,您需要使用Event该类,或者创建一个扩展的自定义类Event,以便您可以调度一个真实的Event对象。在您的情况下,仅使用自定义事件类型,请使用如下Event类:

dispatchEvent( new Event("dataGridComp") );

2) 您正在使用的 creationComplete 事件在组件添加到阶段之前被调度。由不在显示列表中的事物调度的事件不一定会被您的主应用程序听到。

于 2012-04-04T06:47:28.190 回答