flex 的mx:DataGrid 的itemDoubleClick 和 DoubleClick

最近项目中遇到的问题 ,之前代码如下:

<mx:DataGrid id="myDataGrid"
		         width="100%"
				 height="100%"
				 fontSize="12"
				 dataProvider="{ListData}"
				 doubleClickEnabled="true"
				 doubleClick="itemListClickHander(event)">
调用代码如下:
private function itemListClickHander(e:MouseEvent):void
			{
				var selectItem:Object=e.currentTarget.selectedItem;
				//mainFrame.selectedChild=editUser;
				//NOTES: bug,双击空白处弹出窗口的bug BY:2012-10-10
				//var selectItem:Object=myDataGrid.selectedItem
				if(myDataGrid.selectedItem!=null && selectItem !=null){
				   var obj:*=mx.managers.PopUpManager.createPopUp(this, editUser, true);
				   obj.RecordID=selectItem.@RecordID;
				   obj.DoorID=MyEvents.CurrentDoorNode.@RecordID;
				   obj.CallBackFun=this.CallBackFun;
				   mx.managers.PopUpManager.centerPopUp(obj);
				   obj.init();
				}
				
			}

 

上面代码的问题是:如果选中了列表中的记录,在双击列表空白处仍热能弹出编辑窗口,不合理喔;

解决方法:doubleClick  改为 itemDoubleClick  ,只对有数据的记录行有效。

<mx:DataGrid id="myDataGrid"
		         width="100%"
				 height="100%"
				 fontSize="12"
				 dataProvider="{ListData}"
				 doubleClickEnabled="true"
				 itemDoubleClick="itemListClickHander()">


调用代码如下:

private function itemListClickHander():void
			{
				//var selectItem:Object=e.currentTarget.selectedItem;
				//mainFrame.selectedChild=editUser;
				//NOTES: bug,双击空白处弹出窗口的bug BY:2012-10-10
				var selectItem:Object=myDataGrid.selectedItem
				if(myDataGrid.selectedItem!=null){
				   var obj:*=mx.managers.PopUpManager.createPopUp(this, editUser, true);
				   obj.RecordID=selectItem.@RecordID;
				   obj.DoorID=MyEvents.CurrentDoorNode.@RecordID;
				   obj.CallBackFun=this.CallBackFun;
				   mx.managers.PopUpManager.centerPopUp(obj);
				   obj.init();
				}
				
			}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值