flex datagrid itemrender 渲染 问题及解决办法
项目中遇到这样一个问题: 在datagrid中加itemrender,itemrender中是个checkbox,checkbox根据当前行的数据决定是否选中它, 当设置datagrid的高度不能完全显示列表中数据时,滚动列表时checkbox有时选中有时不选中,且有时会选到其它行上: ? 问题分析: 假设您要显示 1,000 条记录。如果您认为列表控制会创建 1,000 个 itemRenderer,您就错了。如果列表只显示 10 行,它会创建约 12 个 itemRenderer-这些足以显示各个可见行,多出的几个则用于缓冲和性能。列表最初显示行 1–10。当用户滚动这个列表时,它现在可能显示行 3-12。但那 12 个 itemRenderer 仍在那里: 及时滚动列表后,也不会新建任何 itemRenderer。 以下是 Flex 执行的操作。滚动列表时,那些依然显示相同数据 (行 3-10) 的 itemRenderer 将向上移动。它们并未发生任何变化,只是移到了新位置。之前显示行 1 和 行 2 数据的 itemRenderer 现在移到行 10 的 itemRendere 下。然后,为那些 itemRenderer 提供行 11 和 行 12 的数据。换言之,除非您调整列表大小,否则将重用/循环使用那些相同的 itemRenderer-它们只是移到新位置并且现在显示新数据。 解决办法:1.设置datagrid高度可显示全部数据 ,即不会出现滚动条 ; ??????????????????? 2.推荐方法 复写set data(value :Object):void方法,将要处理的过程放到此方法中 如:
注意;复写此方法必须调用父类set data方法 super.data = value; 不然数据会出错 参看:http://www.adobe.com/cn/devnet/flex/articles/itemrenderers_pt1.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- postgresql – pgsql concat()功能(差不多)
- jsonp详解跨域请求
- C# 设置Excel数据自适应行高、列宽的2种情况
- Xcode链接错误:文件太小,不适用于架构armv7
- 如果我的服务器被盗,PostgreSQL数据库的安全性如何?
- cocos2dx 3.3 + lua 学习笔记(02)--- 游戏场景的基本搭建
- React Native 开源移动 UI 组件
- 在Ext的JsonStore的load方法中使用回调callback 修改treeSt
- org.xml.sax.SAXParseException: Content is not allowed i
- c# – 用.Substring一个字一个字地读取字符串?