- <?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>