ArrayCollection не обновляется с помощью ItemRenderer (CheckBox) во Flex - PullRequest
2 голосов
/ 06 декабря 2011

У меня проблемы с обновлением коллекции ArrayCollection, которая изначально заполняет мою сетку данных. В моем случае поставщик данных состоит из True и False как String. Они приходят из моей базы данных. Я устанавливаю dataProvider моей таблицы данных в ArrayCollection и отображаю поле в checkBox в сетке данных. Флажок отмечен правильно при отображении. Но если я снова поставлю / сниму флажок и попытаюсь взглянуть на ArrayCollection, я замечу, что ArrayCollection остается без изменений. Я все еще получаю старые значения.

Может кто-нибудь подсказать мне, что мне не хватает в моем коде? Ниже приведен код моей сетки данных.

<mx:DataGrid id="myDataGrid" dataProvider="myArrayCollection" fontSize="9" enabled="true" x="20" y="20" width="217" height="60">
    <mx:columns>
        <mx:DataGridColumn rendererIsEditor="true" editorDataField="selected" width="20" headerText="MyField" dataField="MY_FIELD">
            <mx:itemRenderer>
                <fx:Component>
                    <mx:HBox horizontalAlign="left">
                        <s:CheckBox selected="{data.MY_FIELD == 'false' ? false : true}" horizontalCenter="0"/>
                    </mx:HBox>
                </fx:Component>
            </mx:itemRenderer>
        </mx:DataGridColumn>
    </mx:columns>
</mx:DataGrid>

1 Ответ

1 голос
/ 07 декабря 2011

Попробуйте заменить свой CheckBox следующим:

<s:CheckBox selected="{data.MY_FIELD == 'false' ? false : true}" change="data.MY_FIELD = !data_MY_FIELD" horizontalCenter="0"/>

Это должно перевернуть значение всякий раз, когда пользователь изменяет состояние CheckBox.

...