【问题标题】:Two-way data binding for array collection in flexflex中数组集合的双向数据绑定
【发布时间】:2011-05-17 15:35:35
【问题描述】:

我正在使用 flex 3.5 sdk。我想将数组集合绑定到表单。数组集合的结构是这样的。

MyClass :
var value : String;
var arr : ArrayCollection;

Each element in arr above is an object of MySecondClass

MySecondClass :
var val1 : String;
var val2 : String;
var val3 : String;

我想将 MyClass 对象的数组集合(双向)绑定到一个表单,该表单在该表中包含一个表和另一个表。

我怎样才能做到这一点?

【问题讨论】:

  • 你的意思是编辑表格单元格,数组中的数据也改变了? PS。您正在使用数据网格?
  • 我正在使用中继器和 tilelist

标签: apache-flex actionscript-3 flex3 flexbuilder


【解决方案1】:

您可以尝试将 MySecondClass 中的 var 设置为 binable。

public class MySecondClass {
....
[bindable]
public var1:String;
[bindable]
public var2:String;
[bindable]
public var3:String;
}

如果改变对象的值,与该数据关联的单元格应该改变。

//附言

在提问者提供更多信息后回答。

你可以添加

<mx:Binding destination="checkbox.selected" source="data.value"/>

【讨论】:

  • 感谢您的快速回复。没错,但是我想要两种方式的数据绑定。当我更改表单中的值时,我希望它也反映在对象中。
  • 您的表单是什么样的?或者您使用自定义项目渲染器
  • 它就像一架手风琴。 MyClass 中的值成为标题,数组集合成为以 MySecondClass 中的变量作为参数的元素
  • 其实你用什么UI来改变值?而且,您是否想要这样的行为。更改数据对象值 -> 手风琴和元素将刷新。
  • 谢谢。但是你提到的是一种方式绑定。就像显示来自对象的值一样,但是,当我在 UI 中更改这些值时,它们不会反映在对象中。 MySecondClass 用于复选框,val1 是标签,val2 是选中标志,val3 是禁用标志。我想要的是从数据库中获取值作为对象,将其绑定到 UI,当值更改并单击“提交”时,将这些对象存储回数据库。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-12-27
  • 2019-10-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-29
  • 1970-01-01
相关资源
最近更新 更多