我创建了一个 AdvancedDataGrid,其中大部分单元格都基于 ItemRenderer。自定义 ItemRenderer (SoundBox) 扩展了 VBox。此自定义组件允许根据用户单击单元格对背景颜色进行简单更改。
这是 AdvancedDataGrid 的片段(没什么太高级的):
<mx:AdvancedDataGrid id="fsfw" dataProvider="{fsfWordList}" sortableColumns="false" >
<mx:groupedColumns>
<mx:AdvancedDataGridColumn width="35" dataField="wordcount" headerText=" "/>
<mx:AdvancedDataGridColumn id="myWord" width="150" headerText="TEST ITEMS">
<mx:itemRenderer>
<mx:Component>
<components:SoundBox width="100%" letterSound="{data.word}" />
</mx:Component>
</mx:itemRenderer>
</mx:AdvancedDataGridColumn>
<mx:AdvancedDataGridColumn width="200" headerText="Correct / 2 points" dataField="sound1">
<mx:itemRenderer>
<mx:Component>
<components:SoundBox width="100%" letterSound="{data.sound1}" pointColumn="2"/>
</mx:Component>
</mx:itemRenderer>
</mx:AdvancedDataGridColumn>
</mx:groupedColumns>
</AdvancedDataGrid>
我要做的是在用户单击 row1 的 cell3 时将 row1、cell1 的背景颜色(假设我有一行数据)更改为绿色。
我不确定如何访问网格中的这些项目(ItemRenderer/SoundBox)。
有任何想法吗?谢谢!