У меня есть ситуация, когда я хочу использовать привязку данных из ArrayCollection для заполнения текстовых полей в представлении Flex.
Коллекция ArrayCollection заполняется из объекта SQL Result. Я сохраняю ArrayColelction в своем классе модели, используя такие методы получения и установки:
private var _monthlyData:ArrayCollection;
public function set monthlyData(value:ArrayCollection):void{
_monthlyData = value;
}
[Bindable]
public function get monthlyData():ArrayCollection{
return _monthlyData;
}
Я использую monthData в качестве поставщика данных для списка и т. Д., Который отлично работает. Мне также нужно использовать свойства по определенным индексам в этой коллекции как строки текстового поля. Когда установлены свойства текста текстового поля, у меня еще нет необходимости заполнять массив monthData arrayCollection.
Текстовые поля установлены в другом внешнем классе с одноэлементной ссылкой на эту модель, поэтому я установил поля следующим образом:
textField.text = _model.monthlyData.getItemAt(3).Month;
Я хочу настроить привязку к коллекции массивов, а не просто использовать этот метод присваивания, чтобы при обновлении этого элемента в массиве или при заполнении или обновлении всей arrayCollection он обновлял текст textField. У меня проблемы с настройкой привязки.
В настоящее время я использую bindageTools, но также малоэффективно использую встроенный as3 BindingUtils.
Я могу сделать следующее, чтобы правильно установить исходное свойство текста, но оно не будет обновляться при изменении ArrayCollection:
Bind.fromProperty(_model.monthlyData.getItemAt(3),"Month").toProperty(textField, "text");
Так что, если бы кто-нибудь мог указать мне правильное направление относительно того, какой способ лучше всего получить привязку в чистом AS3 без MXML, я был бы очень признателен.
Ура Марко
The text fields are set in another outside class with has a singleton reference to this model
: вы никогда не должны напрямую устанавливать значение элемента представления; установить модель и позволить привязке данных соответствующим образом обновить представление. - person RIAstar   schedule 19.01.2014