package.xdatagrid
{
import mx.containers.VBox;
import mx.events.ListEvent;
//该句的意思是,声明一个事件属性,类似于一个提示,name里面的“itemClick”是与后面的dispatchEvent发出的事件类型一致的写法,type是自定义事件的路径
[Event( name="itemClick", type="com.rayzsoft.core.xui.xdatagrid.XDataGridEvent")]
public class XDataGrid extends VBox
{
public function XDataGrid()
{
super();
}
private function createRow(rowLength:Array):void{
var row:XGridRow = new XGridRow(rowLength);
//注册侦听器,将onItemClick()方法注册为监听“鼠标点击”事件的侦听器
row.addEventListener(MouseEvent.CLICK,onItemClick);
}
}
private function onItemClick(event:MouseEvent):void{
var row:XGridRow = event.currentTarget as XGridRow;
//该事件类型是 ListEvent.ITEM_CLICK 类型,ITEM_CLICK 的name = "itemClick" ,与上面的name相对应
var xRowEvent:XDataGridEvent = new XDataGridEvent(ListEvent.ITEM_CLICK);
this.dispatchEvent(xRowEvent);
}
}
}