关于ItemRenderer刷新改变值的问题
来源:互联网 发布:网站引导页源码 编辑:程序博客网 时间:2024/06/05 04:32
从网上找到的,整理如下:
主要原因是DataGrid List Tree 等这些组件他们都使用了缓存的机制! 也就是说当你在页面中的DataGrid可以显示10行记录,,而你实际的数据源中存在20行记录。但是DataGrid也只是绘制了当前你所看到的10行记录,而不是20行记录,,那么绘制了10行记录,也就是说创建了当前的10个ItemRenderer,当你在滚动滚动条的时候你又看到了剩下的10行记录,而这10行记录所需要的ItemRenderer是不需要在重新绘制的(如果你使用的是默认的,怎样去掉这个缓存我也不清楚),它会从缓存中去提取! 所以如果你的数据源没有动态绑定,那么当你在进行滚动的时候就会出现这样的情况!
例如:当你的ItemRenderer中存在一个CheckBox,它的是否选中是根据数据原中的K值来决定,如果K为0则选中1为不选中,当你选中了这个CheckBox而没有改变K的值,当你在滚动回来的时候它会根据你的数据重绘这行,那么这个时候数据还是1则不会选中!
对于重写 ItemRenderer是最好的方式,,如果重写的话需要重写其 measure方法 和commitProperties 和updateDisplayList方法!
From:http://topic.csdn.net/u/20090818/18/0fac2e39-6735-41cc-b3f1-378143d32d0e.html
解决方法:
在自己定义的类上,绑定这个你要刷新的类型,然后放到itemRenderer中
如:
然后在view中使用itemRenderer的地方用:
注意visible=“{data.visible}”的地方,这里需要定义itemRenderer的操作方式等
- 关于ItemRenderer刷新改变值的问题
- Flex datagrid itemrenderer刷新显示错乱问题
- 关于FragmentPagerAdapter通知数据改变不刷新的问题
- Flex中自定义组件ItemRenderer,数据绑定dataprovider,刷新问题。
- 关于页面刷新的问题
- 关于页面刷新的问题
- 关于页面刷新的问题
- 关于轮播图刷新的问题
- vue 改变对象的属性,视图不刷新的问题
- flex的Datagrid的itemRenderer问题:奇葩的现象!
- UITableView刷新某一行,改变数据源的问题
- DataGrid和itemRenderer中的控件的数据绑定问题
- Flex中List自己定义itemrenderer渲染问题的解决
- 动态生成advancedDataGrid并动态绑定itemRenderer改变单元格行列颜色的例子
- 关于PHP无刷新上传的问题
- 关于刷新重复提交问题的解决方案
- 关于刷新父页面的问题
- 关于access的实时刷新问题
- UltraEdit 删除空行与注释
- Microsoft技术asp.net小见解
- 安装VS简化版。解决编译器报错“Cannot open include file: 'iostream.h': No such file or directory”
- .def 文件 LNK1118: “READ”语句中的语法错误
- using index
- 关于ItemRenderer刷新改变值的问题
- 网页及其控件的触发事件
- [收藏]__declspec关键字详细用法
- 无法启动MSMQ服务-安装WINCC终极解决方法
- synchronized 学习
- SEO
- JAVA反射详解
- 新手提问:如何快速的学好C/C++
- 关于onmouseover 的一些问题