2012-04-04 6 views
0

DataGridコンポーネントを作成しようとしていて、DataGridが作成されたときにイベントをメインアプリケーションにディスパッチしようとしています。しかし、私はFlash Builderのカスタムコンポーネントでカスタムイベントを宣言できません

"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> 

これを解決する方法任意のアイデアを言って、エラーを得ましたか。私はどんな助けにも感謝します。どうもありがとう。

答えて

0

ご検討/変更することができます物事のカップル:カスタムイベントを送出するために

1)、あなたは本物を派遣することができますので、Eventクラスを使用するか、またはEventを拡張するカスタムクラスを作成する必要がありますEventオブジェクトです。あなたのケースでは、単にカスタムイベントタイプ/ wが、このようEventクラスを使用します。コンポーネントがステージに追加される前に

dispatchEvent(new Event("dataGridComp"));

2)使用しているcreationCompleteイベントは、ディスパッチされます。表示リストにないものによって送信されたイベントは、必ずしもメインアプリケーションから聞こえるとは限りません。

関連する問題