【发布时间】:2014-01-19 03:34:46
【问题描述】:
我有一种情况,我想使用 ArrayCollection 中的数据绑定来填充 Flex 视图中的文本字段。
ArrayCollection 由 SQL Result 对象填充。我使用 getter 和 setter 将 ArrayColelction 存储在我的模型类中,如下所示:
private var _monthlyData:ArrayCollection;
public function set monthlyData(value:ArrayCollection):void{
_monthlyData = value;
}
[Bindable]
public function get monthlyData():ArrayCollection{
return _monthlyData;
}
我使用monthlyData 作为列表等的数据提供者,效果很好。我还需要将此集合中某些索引处的属性用作文本字段字符串。 设置文本字段文本属性后,我不一定要填充monthlyData 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 中进行绑定的最佳方式,我将不胜感激。
干杯 马可
【问题讨论】:
-
这是在 ItemRenderer 中发生的,还是您从集合中选择一个要绑定到文本字段的项目?还有关于
The text fields are set in another outside class with has a singleton reference to this model:你不应该直接设置视图元素的值;设置模型并让数据绑定相应地更新视图。 -
嗨 RIAstar。这不会发生在项目渲染器内部。我在 spark 视图/scroller/Vgroup 中有几个 Spark 标签...我想将它们的文本属性绑定到 ArrayCollection 中的值。
标签: actionscript-3 apache-flex data-binding arraycollection