我正在寻找一种方法来拍摄所有数据网格内容的快照,以包含延伸到屏幕底部的数据(即需要向下滚动DG以查看更多数据)。
获取当前显示数据的快照非常简单:
ImageSnapshot.defaultEncoder = PNGEncoder;
var snap:ImageSnapshot = ImageSnapshot.captureImage(myDG);
var imageBytes:ByteArray = snap.data;
我提出的唯一可行解决方案是拍摄快照,检查数据网格是否可以滚动,滚动到下一个位置,拍摄另一个快照,第二个快照到第一个快照,重复直到数据网格结束。
该解决方案的问题在于每个新快照都会在其中显示标题。此外,最后一个快照很可能包含上一个图像中的数据网格数据。
有没有人对如何做到这一点有任何其他想法?
答案 0 :(得分:1)
我正在寻找一种方法来拍摄所有数据网格的快照 内容包括延伸到底部的数据 屏幕(即需要向下滚动DG以查看更多数据)。
在基于Flex的列表类中 - 包括DataGrid - 数据不会超出屏幕底部。 dataProvider中的每个项目都使用itemRenderer显示。 itemRenderer仅为显示的可视组件数创建,而不是为dataProvider中的每个项创建。
滚动列表时,每个itemRenderer的data属性都会更改;从而改变显示。滚动实际上只是数据的模拟变化。我将整个流程渲染器称为回收。
如果要创建显示所有数据的DataGrid的快照,则必须创建和呈现所有数据。在MX DataGrid中,您可以通过调整高度来执行此操作,以便可以看到所有项目。在大多数spark布局中,有一个属性useVirtualLayout可以控制它。但我不知道它是否可以在Spark DataGrid中禁用。