实现触屏上下滑动操作:
1、首先定义DataGrid的四个鼠标事件
<mx:AdvancedDataGrid id="dg" width="100%" height="100%" rowHeight="25"
mouseDown="dg_mouseDownHandler(event)"
mouseUp="dg_mouseUpHandler(event)"
itemRollOver="dg_itemRollOverHandler(event)"
itemRollOut="dg_itemRollOutHandler(event)"/>
2、具体的事件函数
private var y1:Number;
private var y2:Number;
private var itemflag:Boolean = false;
private function dg_itemRollOverHandler(event:ListEvent):void{
itemflag = true;
}
protected function dg_itemRollOutHandler(event:ListEvent):void{
itemflag = false;
}
protected function dg_mouseDownHandler(event:MouseEvent):void{
y1 = event.stageY;//记录鼠标点击后的位置信息
}
protected function dg_mouseUpHandler(event:MouseEvent):void{
y2 = event.stageY;//记录鼠标放开后的位置信息
dg.verticalScrollPosition = dragDropHandler(y1,y2,dg,itemflag);
itemflag = false;
}
private function dragDropHandler(prev:Number,curt:Number,dg:AdvancedDataGrid,flag:Boolean):Number{
if(flag){//itemflag=true:当前鼠标在dg的column上
var dest:Number = (curt-prev)/dg.rowHeight;
var scrollposition:Number = dg.verticalScrollPosition - dest;
if(scrollposition>0){
return scrollposition;
}else{
return 0;
}
}else{
return dg.verticalScrollPosition;
}
}