加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex中DataGrid获取被选中的行

发布时间:2020-12-15 01:25:55 所属栏目:百科 来源:网络整理
导读:?xml version="1.0" encoding="utf-8"?s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*" creationComplet
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" 
			   minWidth="955" minHeight="600" xmlns:local="*"
			    creationComplete="application1_creationCompleteHandler(event)" >
	<fx:Script>
	</fx:Script>
	<fx:Declarations>
		<fx:XMLList id="demo">
			<employe>
				<id>1</id>
				<name>第一个</name>
				<phone>123465</phone>
				<flag>true</flag>
				<isFP>true</isFP>
				<error>asdfsfdsfasfdsfsdf</error>
			</employe>
			<employe>
				<id>2</id>
				<name>第二个</name>
				<phone>321654</phone>
				<flag>true</flag>
				<isFP>true</isFP>
				<error>asdfsfdsfasfdnsfsdfsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss</error>
			</employe>
			<employe>
				<id>3</id>
				<name>第三个</name>
				<phone>321</phone>
				<flag>false</flag>
				<isFP>true</isFP>
				<error></error>
			</employe>
		</fx:XMLList>
		<mx:XMLListCollection source="{demo}" id="a"/>
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			import mx.controls.listClasses.ListBaseContentHolder;
			import mx.core.IToolTip;
			import mx.events.FlexEvent;
			import mx.events.ListEvent;
			import mx.managers.ToolTipManager;
			public var  tg:IToolTip;
			public function checkBox_Handler(event:MouseEvent,obj:Object):void{
				if((event.target as mx.controls.CheckBox).selected==true){
				var ar:XMLListCollection=ac.dataProvider as XMLListCollection;
				var n:int=ar.getItemIndex(obj);
				obj.isFP="false";
				(ac.dataProvider as XMLListCollection).setItemAt(obj,n);
			/* 	ar.setItemAt(obj,n);
				ac.dataProvider=ar; */
				}else{				
					var ars:XMLListCollection=ac.dataProvider as XMLListCollection;
					var ns:int=ars.getItemIndex(obj);
					obj.isFP="true";
					(ac.dataProvider as XMLListCollection).setItemAt(obj,ns);
				/* 	ar.setItemAt(obj,n);
					ac.dataProvider=ar; */
				}
			}
			public function chaData(event:FocusEvent,obj:Object):void{
				if(obj.flag=="true"){
			var s:String=	event.target.text;
			if(s==obj.name){
				return;
			}else{
			var ar:XMLListCollection=ac.dataProvider as XMLListCollection;
			var n:int=ar.getItemIndex(obj);
			obj.name=s;
			obj.phone="cacacaca";
			(ac.dataProvider as XMLListCollection).setItemAt(obj,n); 
		/* 	ar.setItemAt(obj,n);
			ac.dataProvider=ar;  */
			}
			}else{
				return;
			}
			}
			public function getEdit(ob:Object):Boolean{
				if(ob.flag=='true' && ob.isFP=='true'){
					return true;
				}else{
					return false;
				}
			}
			public function ad(ob:Object):String{
			if(ob.error!=""){
			return ob.error;
			}else{
				return "";
			}			
			}
 
			public var ci:int=0;
			protected function application1_creationCompleteHandler(event:FlexEvent):void
			{
					ac.addEventListener(ListEvent.ITEM_CLICK,fdf);
					ac.addEventListener(ListEvent.ITEM_ROLL_OUT,fdc);
			}
			public function fdf(event:ListEvent):void{
			var error:String=event.currentTarget.selectedItem.error;
			ci++;
			if(error!=""&&ci<=1){
					tg=ToolTipManager.createToolTip(error,mouseX,mouseY,"errorTipRight");							
			}
			}
			public function fdc(event:ListEvent):void{
				ci=0;
				if(tg){
					ToolTipManager.destroyToolTip(tg);
				};		
			}
		]]>
	</fx:Script>
	<mx:DataGrid dataProvider="{demo}" id="ac" width="100%"  horizontalScrollPolicy="on" verticalScrollPolicy="on">
		<mx:columns>
			<mx:DataGridColumn  headerText="不可分配" dataField="id"  id="aaa" >	
				<mx:itemRenderer>
					<fx:Component>
						<mx:HBox>
							<mx:CheckBox   click="outerDocument.checkBox_Handler(event,data)"/>
						</mx:HBox>				
					</fx:Component>
				</mx:itemRenderer>
			</mx:DataGridColumn>
			<mx:DataGridColumn  dataTipFunction="ad"  headerText="电话1"  dataField="phone"  ></mx:DataGridColumn>
			<mx:DataGridColumn headerText="电话2"  dataField="phone2" ></mx:DataGridColumn>
			<mx:DataGridColumn headerText="电话3"  dataField="phone3" ></mx:DataGridColumn>
			<mx:DataGridColumn headerText="电话4"  dataField="phone4" ></mx:DataGridColumn>
			<mx:DataGridColumn headerText="电话5"  dataField="phone5" ></mx:DataGridColumn>
			<mx:DataGridColumn headerText="电话6"  dataField="phone6" ></mx:DataGridColumn>
			<mx:DataGridColumn headerText="电话7"  dataField="phone7" ></mx:DataGridColumn>
			<mx:DataGridColumn headerText="电话8"  dataField="phone8" ></mx:DataGridColumn>	
			<mx:DataGridColumn headerText="电话9"  dataField="phone9" ></mx:DataGridColumn>
			<mx:DataGridColumn headerText="电话0"  dataField="phone0" ></mx:DataGridColumn>
			<mx:DataGridColumn headerText="电话11"  dataField="phone11" ></mx:DataGridColumn>
			<mx:DataGridColumn headerText="姓名" dataField="name"   >
				<mx:itemRenderer>
					<fx:Component>
						<mx:TextInput borderVisible="true"  borderAlpha="0.2" contentBackgroundAlpha="0" focusOut="{outerDocument.chaData(event,data)}"                                                 text="{this.data.name}" editable="{outerDocument.getEdit(this.data)}"/>
					</fx:Component>
				</mx:itemRenderer>
			</mx:DataGridColumn>
			<mx:DataGridColumn headerText="电话"  dataField="phone" editable="{this.data.phone=='321'?true:false}">
			</mx:DataGridColumn>		
		</mx:columns>
	</mx:DataGrid>
</s:Application>
?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读