flex的tree动态加载大量数据与滚动条相关问题探讨

用arraycollection做数据源的坑啊,网上几乎没啥例子,全靠自己摸索 其实显示上万条数据用滚动条本来就是个垃圾设计,没办法,lvl太低,做不了主。 case 1: 官方有句话:使用ItemRenderer的大数据控件,其在渲染时,并不会一次创建所有数据列/行的显示对象

用arraycollection做数据源的坑啊,网上几乎没啥例子,全靠自己摸索

其实显示上万条数据用滚动条本来就是个垃圾设计,没办法,lvl太低,做不了主。

case 1:

官方有句话:使用ItemRenderer的大数据控件,其在渲染时,并不会一次创建所有数据列/行的显示对象 (ItemRenderer),它仅会创建在屏幕上可见的数据列/行,并且重复利用这些显示对象,以提交运行时效率。

所以拖动滚动条时候很容易出现花屏 或者 空白。

原因是Tree中的也是用的itemRender产生延迟造成的.

解决方法: 在Tree的scroll调用myTree.invalidateList()方法,刷新树.

case 2:

自动获取树数据超过显示范围时没有自动生成滚动条.

解决方法:获得数据后分发事件.

复制代码 代码如下:


arrayCollection.itemUpdated(item);
arrayCollection.dispatchEvent(new CollectionEvent(CollectionEvent.COLLECTION_CHANGE, false, false, CollectionEventKind.ADD, -1, -1, [item]));

关于作者: dawei

【声明】:石家庄站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐