2008-11-13 67 views
3

在编写自定义itemRenderer时,如何引用它将呈现的网格单元格的高度和宽度?以这种方式,当网格调整大小时,它将正确调整大小。Flex dataGrid itemRenderer,访问单元格宽度和高度

我正在写一个dataGrid itemRenderer,它在表格的最后一列绘制一个条形图。

我试过引用'this','this.parent'和其他一些没有成功的东西。 我的临时黑客解决方案是将这些数据添加到datacollection中,但是当网格更改大小时这不会工作,所以我将不得不每次都编辑它。

回答

5

所有Flex组件,包括单元格渲染器都知道自己的宽度和高度,所以你应该能够只是获得this.width和this.height

如果你要寻找的是告诉你当一个事件单元已调整大小,您可以听取组件上的 ResizeEvent.RESIZE事件或覆盖 protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void

+0

我试过了,但是this.width总是0.我怀疑它是它还没有被渲染的结果,因为它是一个HBox(推测是)100%的宽度。 – Alex 2008-11-14 15:28:50

0

您的最终列的itemRenderer会继承布局的大小。对MXML itemRenderer使用绝对布局,它将进行缩放以适应。