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();
}