Вот такой датаГрид
Код AS3:
<mx:DataGrid id="itemDG" dataProvider="{itemAC}" width="100%" height="100%">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Item" />
<mx:DataGridColumn dataField="quantity" headerText="Quantity" width="100" minWidth="70" rendererIsEditor="true" editorDataField="result" itemRenderer="renderer.QuantityRenderer"/>
<mx:DataGridColumn dataField="color" headerText="Color" width="80" rendererIsEditor="true" editorDataField="result" itemRenderer="renderer.ColorPickerRenderer"/>
<mx:DataGridColumn dataField="size" headerText="Size" width="140" minWidth="130" rendererIsEditor="true"
editorDataField="result" itemRenderer="renderer.SizeRenderer"/>
<mx:DataGridColumn dataField="hasLogo" headerText="Logo?" width="100" rendererIsEditor="true" editorDataField="result"
itemRenderer="renderer.CheckRenderer"/>
</mx:columns>
</mx:DataGrid>
Такой датаПровайдер (ну я его там загружаю, просто чтобы структура была понятна)
Код:
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item name="Item 1" quantity="2" color="sky" size="small" hasLogo="true" />
<item name="Item 2" quantity="4" color="red" size="medium" hasLogo="false" />
<item name="Item 3" quantity="2" color="ash" size="large" hasLogo="true" />
<item name="Item 4" quantity="1" color="navy" size="extra-large" hasLogo="false" />
</items>
Так вот когда скажем я меняю состояние чекБокса в последней колонке (renderer.CheckRenderer), то нужно чтобы и параметр hasLogo для этой записи тоже поменялся
Добавлено через 7 минут
Пока сделал так и все работает:
CheckRenderer.mxml
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" horizontalAlign="center">
<mx:Script>
<![CDATA[
public var result:Boolean = false;
private function updateHandler():void
{
data.hasLogo = editor.selected;
result = editor.selected;
}
]]>
</mx:Script>
<mx:CheckBox id="editor" selected="{data.hasLogo}" click="updateHandler()"/>
</mx:VBox>
Но очень странно что без строчки data.hasLogo = editor.selected; ничего не работает. Вроде бы все должно было работать и так, потому что
Код AS3:
mx:DataGridColumn dataField="hasLogo" headerText="Logo?" width="100" rendererIsEditor="true" editorDataField="result" itemRenderer="renderer.CheckRenderer"/>
и result меняю как надо, непонятно.