2012-04-04 2 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 이벤트가 전달됩니다. 표시 목록에없는 이벤트에 의해 발송 된 이벤트는 반드시 주 응용 프로그램에서 들리지는 않습니다.

관련 문제