Я создал 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, cell1 на зеленый, когда пользователь нажимает на ячейку 3 строки row1.
Я не уверен, как мне получить доступ к этим элементам (ItemRenderer/SoundBox) в сетке.
Любые идеи? СПАСИБО!