Создание полного заявления - PullRequest
0 голосов
/ 26 октября 2011
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
           creationComplete="init()">

Это мой заголовок, и это функция, которая вызывается creationComplete:

protected function init():void
        {
            var mySort:Sort = new Sort();
            mySort.fields = [new SortField('title')];
            acCart.sort = mySort;
            acCart.refresh();
        }

Теперь я добавляю несколько объектов из одной коллекции массивов (магазина) в другую (корзину) в основном (показано на сетке данных). Сетка корзины данных изменяется каждый раз, когда я нажимаю кнопку «добавить в корзину».

Я думал, что оператор creationcomplete-Statement был выполнен только один раз, но теперь я сомневаюсь, потому что это единственная функция, которая содержит refresh (), и если я удаляю ее, моя корзина больше не обновляется. Может кто-нибудь предоставить мне больше информации о заявлении creationcomplete? Поиск в Интернете и в моем учебнике не научил меня, что именно он делает.

1 Ответ

0 голосов
/ 26 октября 2011

По завершении создания ваша acCart ArrayCollection сортируется;однако компоненты, связанные с этой ArrayCollection, должны обновляться при добавлении объектов в ArrayCollection.

ArrayCollection - очень тяжелая коллекция, отправляющая события при изменении коллекции.

После привязки к DataGrid, изменения вколлекция будет отражена в DataGrid.

http://blog.flexdevelopers.com/2009/03/flex-basics-arraycollection.html

... ArrayCollection - это класс-оболочка, который представляет Array как коллекцию, к которой можно обращаться и манипулировать с помощьюметоды и свойства интерфейсов ICollectionView или IList ".Два члена класса ArrayCollection являются неотъемлемой частью способности ArrayCollection поддерживать привязку данных - событие collectionChange и метод addEventListener.Чтобы участвовать в привязке данных, объект должен иметь возможность:

  1. отправлять событие при изменении чего-либо
  2. разрешать другим объектам прослушивать и отвечать на событие

Создание завершено:

Отправляется, когда компонент и все его дочерние компоненты, а также все их дочерние элементы и т. Д. Созданы, размещены и являются видимыми.

Flex отправляет событие creationComplete для контейнера, когда те изначально требуемые дочерние элементы полностью обрабатываются и рисуются на экране, включая все необходимые дочерние дочерние элементы и т. Д.Создайте прослушиватель для события creationComplete, например, если у вас должны быть дочерние измерения и позиции в вашем обработчике событий.Не используйте событие creationComplete для действий, которые устанавливают свойства макета, так как это приводит к избыточному времени обработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...