2013-02-25 78 views
0

如何在itemRenderer的updateDisplayList方法內訪問datagrid的dataProvider?從updateDisplayList訪問數據提供者

我試着下面的代碼。我得到空引用錯誤,這似乎也符合邏輯。因爲我們只是將owner作爲Datagrid變量而不與任何「this」對象建立連接,所以它的dataProvider屬性將僅爲null。以下是我的代碼與方法的updateDisplayList

var owner:DataGrid; 
var duration:Number=owner.dataProvider.getItemAt(owner.selectedIndex).duration; 
for(var i:int=1;i<duration;i++) 
{ 
    graphics.moveTo(i*w/duration, h); 
    graphics.lineTo(i*w/duration, 0); 
} 

回答

0

內部數據提供程序的訪問,我認爲你可以嘗試(所有者的DataGrid).dataProvider

只是將其強制轉換爲你所需要的。

+0

我試過,但我得到空引用錯誤,這似乎也符合邏輯。由於我們只是將owner作爲Datagrid變量而沒有與此對象的任何連接,因此它的dataProvider屬性將僅爲null。 – genonymous 2013-02-25 22:52:38

+0

如何在由數據網格處理的項目渲染器上分派事件,這將簡單地將dataProver作爲屬性傳回給ItemRenderer? – Yav 2013-03-05 04:20:24