我在主文件上有<mx:Script>
,我在其中定义了这个:
[Bindable]
private var dpCols:ArrayCollection = new ArrayCollection([
{'prx':'bl', 'nmb':'Blanco', 'ral':'RAL1013', 'hex':'E8E4CD'},
{'prx':'am', 'nmb':'Amarillo', 'ral':'RAL1005', 'hex':'C79E03'},
{'prx':'gr', 'nmb':'Gris Perla', 'ral':'RAL7045', 'hex':'8E939E'}
]);
我可以在许多地方将它用作dataProvider,但不是在这里:
<mx:TileList dataProvider="{dpCols}">
<mx:itemRenderer>
<mx:Component>
<mx:Box backgroundColor="{int('0x' + data.hex)}"
height="64" width="72">
<mx:Label text="{data.ral}" textAlign="center" width="100%"/>
<mx:Label text="{data.nmb}" textAlign="center" width="100%"/>
</mx:Box>
</mx:Component>
</mx:itemRenderer>
</mx:TileList>
此TileList位于<radg:RaDG>
(我的AdvancedDataGrid的子类),<radg:columns>
,<mx:AdvancedDataGridColumn>
,<mx:itemEditor>
和<mx:Component>
之内。如果我把它放在外面,它就可以了。但我需要它让它有itemEditor。
我应该如何参考dpCols
呢? (或者我该如何解决这个错误?)
谢谢!
答案 0 :(得分:1)
您需要outerDocument
,因为您位于<mx:Component>
标记内。请参阅this Adobe docs page或此SO question中的“使用组件标记”部分。
如果您在使用嵌套时变得特别棘手,则可能需要使用parentDocument
,但听起来outerDocument
应该适用于您的情况(只有<mx:Component>
个标签的一个嵌套)。
用法:
<mx:TileList dataProvider="{outerDocument.dpCols}" />