所有数据的数据网格快照



我正在寻找一种方法来拍摄所有数据网格内容的快照,以包含超出屏幕底部的数据(即需要向下滚动DG以查看更多数据)。

获取当前显示数据的快照非常简单:

ImageSnapshot.defaultEncoder = PNGEncoder;
var snap:ImageSnapshot = ImageSnapshot.captureImage(myDG);
var imageBytes:ByteArray = snap.data;

我想出的唯一可能的解决方案是拍摄快照,检查数据网格是否可以滚动,滚动到下一个位置,拍摄另一个快照,然后第二个快照到第一个快照,重复直到数据网格结束。

该解决方案的问题在于,每个新快照都会显示其中的标头。此外,最后一个快照很可能包含上一个图像中的数据网格数据。

有人对如何实现这一目标还有其他想法吗?

我正在寻找一种方法来拍摄所有数据网格的快照 要包含超出底部的数据的内容 屏幕(即需要向下滚动DG以查看更多数据)。

在基于 Flex 的列表类(包括 DataGrid)中,数据不会超出屏幕底部。 数据提供程序中的每个项都使用 itemRenderer 显示。 将仅为显示的可视组件数创建 itemRenderer,而不是针对数据提供程序中的每个项目创建。

滚动列表时,每个 itemRenderer 的数据属性都会更改;从而更改显示。 滚动实际上只是数据的模拟更改。 我称整个过程渲染器为回收。

如果要创建显示所有数据的 DataGrid 快照,则必须创建并呈现所有数据。 在 MX 数据网格中,您可以通过调整高度来执行此操作,以便所有项目都可见。 在大多数火花布局中,有一个属性useVirtualLayout来控制这一点。 不过,我不知道是否可以在Spark DataGrid中禁用它。

最新更新