Flex中DataGrid获取被选中的行

本文深入探讨了数据处理与分析的关键技术,从数据结构与算法的基础,到机器学习与深度学习的高级应用,覆盖了数据安全、数据挖掘、算法优化等多个领域,旨在为读者提供一个全面的指导,帮助他们掌握数据处理与分析的技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"   
  3.                xmlns:s="library://ns.adobe.com/flex/spark"   
  4.                xmlns:mx="library://ns.adobe.com/flex/mx"   
  5.                minWidth="955" minHeight="600" xmlns:local="*"  
  6.                 creationComplete="application1_creationCompleteHandler(event)" >  
  7.     <fx:Script>  
  8.     </fx:Script>  
  9.     <fx:Declarations>  
  10.         <fx:XMLList id="demo">  
  11.             <employe>  
  12.                 <id>1</id>  
  13.                 <name>第一个</name>  
  14.                 <phone>123465</phone>  
  15.                 <flag>true</flag>  
  16.                 <isFP>true</isFP>  
  17.                 <error>asdfsfdsfasfdsfsdf</error>  
  18.             </employe>  
  19.             <employe>  
  20.                 <id>2</id>  
  21.                 <name>第二个</name>  
  22.                 <phone>321654</phone>  
  23.                 <flag>true</flag>  
  24.                 <isFP>true</isFP>  
  25.                 <error>asdfsfdsfasfdnsfsdfsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss</error>  
  26.             </employe>  
  27.             <employe>  
  28.                 <id>3</id>  
  29.                 <name>第三个</name>  
  30.                 <phone>321</phone>  
  31.                 <flag>false</flag>  
  32.                 <isFP>true</isFP>  
  33.                 <error></error>  
  34.             </employe>  
  35.         </fx:XMLList>  
  36.         <mx:XMLListCollection source="{demo}" id="a"/>  
  37.     </fx:Declarations>  
  38.     <fx:Script>  
  39.         <![CDATA[ 
  40.             import mx.collections.ArrayCollection; 
  41.             import mx.controls.Alert; 
  42.             import mx.controls.listClasses.ListBaseContentHolder; 
  43.             import mx.core.IToolTip; 
  44.             import mx.events.FlexEvent; 
  45.             import mx.events.ListEvent; 
  46.             import mx.managers.ToolTipManager; 
  47.             public var  tg:IToolTip; 
  48.             public function checkBox_Handler(event:MouseEvent,obj:Object):void{ 
  49.                 if((event.target as mx.controls.CheckBox).selected==true){ 
  50.                 var ar:XMLListCollection=ac.dataProvider as XMLListCollection; 
  51.                 var n:int=ar.getItemIndex(obj); 
  52.                 obj.isFP="false"; 
  53.                 (ac.dataProvider as XMLListCollection).setItemAt(obj,n); 
  54.             /*  ar.setItemAt(obj,n); 
  55.                 ac.dataProvider=ar; */ 
  56.                 }else{               
  57.                     var ars:XMLListCollection=ac.dataProvider as XMLListCollection; 
  58.                     var ns:int=ars.getItemIndex(obj); 
  59.                     obj.isFP="true"; 
  60.                     (ac.dataProvider as XMLListCollection).setItemAt(obj,ns); 
  61.                 /*  ar.setItemAt(obj,n); 
  62.                     ac.dataProvider=ar; */ 
  63.                 } 
  64.             } 
  65.             public function chaData(event:FocusEvent,obj:Object):void{ 
  66.                 if(obj.flag=="true"){ 
  67.             var s:String=   event.target.text; 
  68.             if(s==obj.name){ 
  69.                 return; 
  70.             }else{ 
  71.             var ar:XMLListCollection=ac.dataProvider as XMLListCollection; 
  72.             var n:int=ar.getItemIndex(obj); 
  73.             obj.name=s; 
  74.             obj.phone="cacacaca"; 
  75.             (ac.dataProvider as XMLListCollection).setItemAt(obj,n);  
  76.         /*  ar.setItemAt(obj,n); 
  77.             ac.dataProvider=ar;  */ 
  78.             } 
  79.             }else{ 
  80.                 return; 
  81.             } 
  82.             } 
  83.             public function getEdit(ob:Object):Boolean{ 
  84.                 if(ob.flag=='true' && ob.isFP=='true'){ 
  85.                     return true; 
  86.                 }else{ 
  87.                     return false; 
  88.                 } 
  89.             } 
  90.             public function ad(ob:Object):String{ 
  91.             if(ob.error!=""){ 
  92.             return ob.error; 
  93.             }else{ 
  94.                 return ""; 
  95.             }            
  96.             } 
  97.   
  98.             public var ci:int=0; 
  99.             protected function application1_creationCompleteHandler(event:FlexEvent):void 
  100.             { 
  101.                     ac.addEventListener(ListEvent.ITEM_CLICK,fdf); 
  102.                     ac.addEventListener(ListEvent.ITEM_ROLL_OUT,fdc); 
  103.             } 
  104.             public function fdf(event:ListEvent):void{ 
  105.             var error:String=event.currentTarget.selectedItem.error; 
  106.             ci++; 
  107.             if(error!=""&&ci<=1){ 
  108.                     tg=ToolTipManager.createToolTip(error,mouseX,mouseY,"errorTipRight");                            
  109.             } 
  110.             } 
  111.             public function fdc(event:ListEvent):void{ 
  112.                 ci=0; 
  113.                 if(tg){ 
  114.                     ToolTipManager.destroyToolTip(tg); 
  115.                 };       
  116.             } 
  117.         ]]>  
  118.     </fx:Script>  
  119.     <mx:DataGrid dataProvider="{demo}" id="ac" width="100%"  horizontalScrollPolicy="on" verticalScrollPolicy="on">  
  120.         <mx:columns>  
  121.             <mx:DataGridColumn  headerText="不可分配" dataField="id"  id="aaa" >    
  122.                 <mx:itemRenderer>  
  123.                     <fx:Component>  
  124.                         <mx:HBox>  
  125.                             <mx:CheckBox   click="outerDocument.checkBox_Handler(event,data)"/>  
  126.                         </mx:HBox>                  
  127.                     </fx:Component>  
  128.                 </mx:itemRenderer>  
  129.             </mx:DataGridColumn>  
  130.             <mx:DataGridColumn  dataTipFunction="ad"  headerText="电话1"  dataField="phone"  ></mx:DataGridColumn>  
  131.             <mx:DataGridColumn headerText="电话2"  dataField="phone2" ></mx:DataGridColumn>  
  132.             <mx:DataGridColumn headerText="电话3"  dataField="phone3" ></mx:DataGridColumn>  
  133.             <mx:DataGridColumn headerText="电话4"  dataField="phone4" ></mx:DataGridColumn>  
  134.             <mx:DataGridColumn headerText="电话5"  dataField="phone5" ></mx:DataGridColumn>  
  135.             <mx:DataGridColumn headerText="电话6"  dataField="phone6" ></mx:DataGridColumn>  
  136.             <mx:DataGridColumn headerText="电话7"  dataField="phone7" ></mx:DataGridColumn>  
  137.             <mx:DataGridColumn headerText="电话8"  dataField="phone8" ></mx:DataGridColumn>     
  138.             <mx:DataGridColumn headerText="电话9"  dataField="phone9" ></mx:DataGridColumn>  
  139.             <mx:DataGridColumn headerText="电话0"  dataField="phone0" ></mx:DataGridColumn>  
  140.             <mx:DataGridColumn headerText="电话11"  dataField="phone11" ></mx:DataGridColumn>  
  141.             <mx:DataGridColumn headerText="姓名" dataField="name"   >  
  142.                 <mx:itemRenderer>  
  143.                     <fx:Component>  
  144.                         <mx:TextInput borderVisible="true"  borderAlpha="0.2" contentBackgroundAlpha="0" focusOut="{outerDocument.chaData(event,data)}"                                                 text="{this.data.name}" editable="{outerDocument.getEdit(this.data)}"/>  
  145.                     </fx:Component>  
  146.                 </mx:itemRenderer>  
  147.             </mx:DataGridColumn>  
  148.             <mx:DataGridColumn headerText="电话"  dataField="phone" editable="{this.data.phone=='321'?true:false}">  
  149.             </mx:DataGridColumn>        
  150.         </mx:columns>  
  151.     </mx:DataGrid>  
  152. </s:Application> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值