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 に答える