我使用ItemRenderer
将数组数组绑定到数据网格。我使用data
变量来控制可绑定数据。我还需要将someComponentVariable
插入到每一行,但它在组件范围内声明,因此数据网格似乎不会重新组合它(编译错误)。
如何在someComponentVariable
?
ItemRenderer
)
<mx:DataGrid id="userBonusesGrid" width="100" height="248" showHeaders="false" wordWrap="true">
<mx:columns>
<mx:DataGridColumn headerText="" width="36">
<mx:itemRenderer>
<mx:Component>
<mx:VBox verticalAlign="middle" horizontalAlign="center">
<ns1:SidePanelBonus
bonusName="{data.name}" description="{data.description}"
arrow="{someComponentVariable}">
</ns1:SidePanelBonus>
</mx:VBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
答案 0 :(得分:4)
如果someComponentVariable
是包含DataGrid
的类的公共属性,则可以使用outerDocument
从component
访问它。
<ns1:SidePanelBonus bonusName="{data.name}" description="{data.description}"
arrow="{outerDocument.someComponentVariable}">
</ns1:SidePanelBonus>
有关outerDocument
答案 1 :(得分:0)
不,你根本不能使用它。数据网格中的每个itemRenderer只能访问为其创建渲染器的项目。这是故意完成的,因为itemRendrers动态更改,它们不会永远绑定数据,滚动时,项目滚动而不是渲染器,它们保持在相同位置或者可能会更改,但滚动时相应的项目渲染器数据总是会更改。他们不会分享一对一的关系。
唯一的解决方案是以某种父子关系的形式传递项目中的数据。