Показать сообщение отдельно
Старый 15.07.2010, 12:22
Alex_YAROST_22 вне форума Посмотреть профиль Отправить личное сообщение для Alex_YAROST_22 Найти все сообщения от Alex_YAROST_22
  № 1  
Ответить с цитированием
Alex_YAROST_22

Регистрация: Mar 2010
Сообщений: 45
По умолчанию Тупиковая ситуация ItemRender должен являтся контролом данных, которые отображает.

Привет всем, ситуация такая. Есть DataGrid в котором используются простой ItemRender вот такого вида:

Код:
<mx:DataGridColumn headerText="AIR" dataField="isOnAir" visible="false" width="30">
	<mx:itemRenderer>
		<mx:Component>
         		<mx:CheckBox enabled="false" width="23" height="22" selected="data.isOnAir">
                        </mx:CheckBox>										
                 /mx:Component>
         </mx:itemRenderer>
</mx:DataGridColumn>
Как видите поле DataProvider называемое isOnAir забиндено на компонент CheckBox. Ну какбы типичный ItemRender.

Теперь собственно тупик - нажатие на ЧекБокс приводит к изменению данных в ДатаПровайдере и, соответственно изменяется внешний вид компонента (появляется галочка) автоматом. Однако мне надо, чтобы при нажатии происходили некоторые действия, в результате которых галочка либо ставилась, либо нет.

Максимум, что я придумал это отказаться от ItemRendera, добавить CheckBox как контрол, при нажатии, если вдруг нельзя совершать это действие - возвращать компонент в предыдущее состояние (selected = false) и как-то реализовывать синхронизацию DataProvider'а и компонент CheckBox в списке.
Выглядит это всё в теории совершенно ужастно и криво

Если вы сможете что-нить подсказать, буду благодарен.
Спасибо.