我在数据网格中使用自定义项目渲染器,并且需要根据渲染器中的任何值是否存在负值来使按钮可见或不可见。所以我想在第一个渲染器设置时将标志设置为false,如果有任何负值则将其设置为true,最后检查标志的值。我知道每次在渲染器实例中更改数据时我都可以调度一个dataChange事件,但是我想知道无论如何我都知道它们何时完成了? 谢谢!
答案 0 :(得分:2)
没有这样的事件。
与任何其他Flex组件一样,渲染器将在创建后调度CREATION_COMPLETE
。 ItemRenderers
通常是循环使用的(同一个对象被分配了要渲染的新数据),因此监听CREATION_COMPLETE
是不够的,除非您禁用回收。
对于Spark List
组件,您可以通过在布局类上设置useVirtualLayout=false
来禁用回收。我不确定Spark DataGrid
类是否支持这个。 MX DataGrid可能还有其他一些方法可以做到这一点。
但是,禁用回收可能会影响性能。我认为你的想法是DATA_CHANGE
事件是最好的解决方案:
data
属性的setter)以了解数据何时发生更改答案 1 :(得分:1)
您应该查看RendererExistenceEvents。您应该能够根据列表中的项目数量或至少一次应该查看的项目来判断它们何时全部创建。