flex 文件批量上传 datagrid的行状态清除问题【图】
用flex做了个文件上传,第一次上传显示在datagrid中进度条显示正常,但是上传完后吧datagrid绑定的arrayCollection清空后,再次浏览文件确定时(此时还未上传),前N条(N=第一次上传文件个数)会变为100%,该如何在第二次上传时进度条的初始值为0%?为什么会导致第二次的进度条为100%?
[解决办法]
Flex里面的Renderer因为效率的原因是复用的,也就是说你的列表中的Renderer每次只是实例化看得见的那部分,那部分的Renderer被反复使用。
所以ItemRender里面要用override function set data来设置进入时的状态,它自己里面的状态是不能依赖的。
如:
override public function set data(value:Object):void {
if( value != null ) {
super.data = value;
if( value.downloaded == "1" {
label.text = "100%";
} else {
label.text = "0%";
end
要根据value本身的属性来决定自己显示的内容。
[解决办法]
1楼正解,你不用条件直接在set data里用setProgress设个随即数试试,看变不变,如果不变,那你将bar的mode改为manual改成0,然后再换回成原来的mode,看行不行