2008-11-13 70 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使用絕對佈局,它將進行縮放以適應。