flex 随手笔记

1.日期转换

如果是 00:00:00 使用 12小时制 会编程 24:00:00

<mx:DateFormatter id="dateFormatterTime" formatString="YYYY-MM-DD HH:NN:SS"/><!-- 12小时制   -->

<mx:DateFormatter id="dateFormatterTime2" formatString="YYYY-MM-DD JJ:NN:SS"/><!-- 24小时制   -->


2.字符串替换

flex 的字符串替换replace 默认替换一个,如果字符中含有多个就无法全部替换

下面这个可把某个字符串全部转换split("").jion(“”);

比如 abcabeefeaccd,把所有的b 替换为 0 ,split("b").jion(“0”);


3.对象的深度copy

mx.utils.ObjectUtil.copy(objToCopy) 该方法是把copy对象转换为betyarray ,进行copy,如果你copy 的是一个VO , 在as VO 会出现转换null

原因是flash player 并不知道该对象是什么,解决方法是向flash player 注册该对象


flash.utils.getQualifiedClass会返回参数传入的对象的全类名,而flash.utils.getDefinitionByName
返回传入的对象的类引用。通过使用这2个方法,你可以注册任何对象的类:
private function copyOverObject(objToCopy:Object, registerAlias:Boolean = false):Object
{
   if(registerAlias) {
   var className:String = flash.utils.getQualifiedClassName(objToCopy);
   flash.net.registerClassAlias(className,
(flash.utils.getDefinitionByName(className) as Class));
   }
return mx.utils.ObjectUtil.copy(objToCopy);
}

4.问题
flex remoteobject 调用java 方法出现 回话超时


解决    java 被调用方法是否 为public、 方法与参数是否与flex 调用的一致

5.

组件控制问题
 问题描述:使用object 组装 boolean 类型数据,经验证 data.operation的数据类型确实是boolean类型,但是在显示控制的时候不能控制组件。一个bug....
 解决办法:使用字符串属性,在操作时,判断字符串用data.operation=='true'?true:false
 
 组件:
 <mx:DataGridColumn headerText="操作" textAlign="center" id="v060204_delete" width=".3" sortable="false">
  <mx:itemRenderer>
   <mx:Component>       
    <mx:HBox horizontalAlign="center" horizontalGap="0">
     <mx:Script>
      <![CDATA[
       [Bindable]
       public var v060204_delete:Boolean  = true;
      ]]>
     </mx:Script>
     <mx:LinkButton id="userdel" label="删除" width="50" click="{parentDocument.deleteFunction(this.data)}" visible="{v060204_delete}" includeInLayout="{v060204_delete}"/>
     <mx:LinkButton id="userup" label="开始上传" enabled="{data.operation=='true'?true:false}" width="100" click="{parentDocument.fileUploadFunction(event,this.data)}" visible="{v060204_delete}" includeInLayout="{v060204_delete}"/>
    </mx:HBox>
   </mx:Component>
  </mx:itemRenderer>
 </mx:DataGridColumn>

 数据源组装
 item.fileName = file.name;
 item.fileReference = file;
 item.operation = "true";

 业务处理后操作控制方法

 private function refresh():void{
  this.userUploadModule.dg.selectedItem.operation="false";
  trace("operation:"+this.userUploadModule.dg.selectedItem.operation);
  this.userUploadModule.dg.invalidateList();
 }



 

猜你喜欢

转载自blog.csdn.net/onnwll/article/details/38037653
今日推荐