PDA

Просмотр полной версии : Биндинг между компонентами


Захаров
27.06.2008, 10:29
А как забиндить компоненты между собой скажем DataGrid и Combobox
что бы смотрели они на один источник данных и если грид или комбобокс меняют свою текущую позицию на источнике данных то и связный компонент меняет свою текущую позицию.

только что бы самому писать листенеров не надо было может как ни будь через mx:Binding

Molecula
29.06.2008, 07:06
Да вариантов много биндинга.
Можно через:
mx.binding.utils.ChangeWatcher;
mx.binding.utils.BindingUtils;

zlatko
29.06.2008, 17:12
Также, как вариант :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
[Bindable]
private var _ds:XMLList = XMLList('<item id="1" name="name1" desc="aaa" /><item id="2" name="name2" desc="bbb" /><item id="3" name="name3" desc="ccc" /><item id="4" name="name4" desc="ddd" />');
]]>
</mx:Script>
<mx:HBox>
<mx:DataGrid id="dg" dataProvider="{_ds}" selectedIndex="{cmb.selectedIndex}">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="@id"/>
<mx:DataGridColumn headerText="Column 2" dataField="@name"/>
<mx:DataGridColumn headerText="Column 3" dataField="@desc"/>
</mx:columns>
</mx:DataGrid>
<mx:ComboBox id="cmb" dataProvider="{_ds}" labelField="@name" selectedIndex="{dg.selectedIndex}"/>
</mx:HBox>
</mx:Application>