![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2008
Сообщений: 57
|
Загружаю XML и при загрузке, в ArrayCollection добавляю загруженный XML
private function handleComplete(evnt:Event):void {
var data:XML = new XML(evnt.target.data);
this.xmlContainer.source[0] = data;
}
<mx:DataGrid id="m_grid" dataProvider="{dt.xmlContainer.getItemAt(0).manager}" width="353" editable="true">
<mx:columns>
<mx:DataGridColumn headerText="ID" width="100" dataField="@id"/>
<mx:DataGridColumn headerText="Имя" dataField="@name"/>
</mx:columns>
</mx:DataGrid>
В итоге ничего не происходит.. Bindable поставил xmlContainer и dt - который является объектом класса в котором я загружаю XML/ Подскажите, пожалуйста, в чем проблема? |
|
|||||
|
Bindable работает только в том случае, если изменяется сам объект, а не его свойства.
|
|
|||||
|
Регистрация: Mar 2008
Сообщений: 57
|
И какой тогда выход? как мне сделать чтоб флекс увидел, что xmlContainer изменился?
|
|
|||||
|
выходов много, один из них следующий:
в методе, в котором у тебя изменяется свойство объекта, создай новый объект, присвой ему значение старого объекта. Затем в новом объекте измени то свойство, которое тебе нужно изменить, а потом присвой старому объекту значение нового. Таким образом твой Bindable объект как бы обновится. Возможно я немног запутанно объяснил, но на самом деле все довольно просто )) |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 57
|
Пасиба)
Сделал чуть по другому, в том месте где у меня менялся XML (или загружался), присвоил dataProvider'у DataGrid'а новое значение, примерно так: |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:27. |
|
|
« Предыдущая тема | Следующая тема » |
|
|