我正在尝试创建一个datagrid组件,并希望它在创建datagrid时将事件分派给主应用程序。但是,我说错误
"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 :(得分:0)
您可以更改/考虑的几件事情:
1)要调度自定义事件,您需要使用Event
类,或者创建扩展Event
的自定义类,以便分发真实的Event
对象。在您的情况下,仅使用自定义事件类型,请使用Event
类,如下所示:
dispatchEvent( new Event("dataGridComp") );
2)在将组件添加到舞台之前调度您正在使用的creationComplete事件。由主应用程序不一定会听到由不在显示列表中的内容发送的事件。