我有一個datagrid,它在主應用程序中有3列。在第三列中,我想使用項目渲染器,我想在其中使用包含兩個組件的hbox。一個是一個按鈕,一個是標籤。我在主應用程序中也有一個滑塊。我想使用滑塊(使用數據網格的地方)從主應用程序文件中更改itemrenderer按鈕的alpha值。我可以使用data屬性訪問項目渲染器中的數據提供程序屬性。但是,如何訪問父應用程序屬性。爲此,我嘗試創建自定義數據網格並使用數據綁定傳遞滑塊的值。但無法訪問該屬性。在列表中,當我做同樣的事情時,我可以使用item renderer的listData屬性訪問屬性,但是在datagrid中我無法這樣做。如何訪問項目渲染器內的父應用程序屬性
0
A
回答
1
我怎麼訪問父應用程序性能
一般;我會建議你不要。 itemRenderer應該能夠通過數據元素訪問它需要的所有屬性;這涉及到dataProvider。
這是訪問顯示層次結構中位置較高的組件屬性的封裝中斷。
也就是說,這有很多方法。
要訪問主應用程序,您可以使用FlexGlobals.topLevelApplication訪問頂層應用程序。
您可以將滑塊值存儲爲靜態變量,然後通過itemRenderer以這種方式訪問它。
您可以將滑塊值存儲在某個數據/模型對象中,並使用依賴注入框架(如Swiz或Robotlegs)將該數據/模型對象注入到itemRenderer中。
1
,如果你要訪問的外部屬性,你可以使用添加outerDocument的itemRenderer的內部,例如:
//代碼
public var str:String = "Test";
[Bindable] private var arr:Array = [
{field:'ROW1'},
{field:'ROW2'},
{field:'ROW3'}
];
// MXML
<mx:DataGrid id="grid" width="100%" height="100%" dataProvider="{arr}">
<mx:columns>
<mx:DataGridColumn dataField="field">
<mx:itemRenderer>
<mx:Component>
<mx:Label text="{data.field + ' ' + outerDocument.str}"/>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
這URL顯示了我所說的一個很好的例子。 我希望這會有所幫助。
+0
在我的情況下,渲染器在其他文件中。我需要在用戶拖動滑塊時訪問滑塊的值。基於滑塊的當前值我想設置設置數據函數中的邏輯。 – nitin
相關問題
- 1. 訪問項目渲染器中的comopnent的屬性
- 2. 在Flex中訪問項目渲染器的屬性
- 3. 訪問DataGridColumn項目渲染器變量
- 4. 如何訪問MX:Tree中的所有項目渲染器?
- 5. 如何訪問MX:Tree中的所有項目渲染器?
- 6. 如何訪問加載器對象內的項目的屬性
- 7. 如何在一個項目渲染器從另一項目渲染訪問的Flex 2.0
- 8. 如何使用Cobra/Lobo HTML渲染器訪問DOM節點的屬性
- 9. 我的項目渲染器未找到屬性「數據」。
- 10. 從父項Maven項目訪問子項屬性
- 11. 訪問應用程序屬性
- 12. 訪問父屬性
- 13. 訪問控制器渲染
- 14. 如何測試項目渲染器的性能?
- 15. 如何訪問父對象的屬性?
- 16. 使用EnvDTE訪問項目的屬性
- 17. GLSL:iPhone應用程序無法訪問的內置屬性?
- 18. Datagrid和內聯項目渲染器問題
- 19. flash builder 4.6將應用程序中的變量傳遞給項目渲染器
- 20. JSF:渲染屬性
- 21. 如何訪問父對象屬性?
- 22. 如何訪問「應用程序」文件夾中的項目
- 23. 如何從Java EE Web應用程序訪問屬性文件?
- 24. 如何從主應用程序委託訪問viewcontroller屬性?
- 25. 如何訪問具有相同名稱的父項屬性
- 26. 訪問父中繼器DataItem屬性
- 27. 訪問使用子項的父項屬性
- 28. 因爲應用程序模擬器崩潰渲染問題
- 29. 使用內聯項目渲染器編輯我的DATAGRID
- 30. ItemsControl中項目的渲染問題
+1對你不應該這樣做。我還會補充一點,您可以創建一個ClassFactory並使用它爲渲染器提供對滑塊或可反映其值的可綁定數據對象的引用。 –
我有一個使用ClassFactory發送屬性的盲點。不知道爲什麼;我總是忘記那裏。 – JeffryHouser
@AmyBlankenship如何使用ClassFactory來訪問父應用程序的屬性。通過使用listData屬性可以實現相同的目標嗎?我已經用代碼問了幾天同樣的問題。它的鏈接是http://stackoverflow.com/questions/13109821/how-to-access-the-listdata-property-in-item-renderer-for-datagrid-in-flex-4 – nitin