【问题标题】:Databinding in AS3 to a sliderAS3 中的数据绑定到滑块
【发布时间】:2009-11-23 12:38:22
【问题描述】:

我正在 AS3 中创建一个数据网格,并希望将滑块的值传递给项目渲染器

var column : MyDataGridColumn = new MyDataGridColumn();
column.sliderValue = mySlider.value;
...

这最初工作得很好,但是当我移动滑块时,我希望数据网格将新值分配给列。

当我在 MXML 中创建数据网格并像这样绑定滑块值时,这工作正常

<local:MyDataGridColumn
 sliderValue="{mySlider.value}"/>

每次滑块更改时都会重新评估和重新分配。 AS3 版本不是。

我尝试使用可绑定函数,并将函数结果分配给列,但它不起作用。有任何想法吗? 谢谢,

马丁

【问题讨论】:

  • &lt;local:MyDataGridColumn sliderValue="{mySlider.value}"/&gt; 我不明白这是怎么工作的——你能把一个值绑定到一个列吗?你不应该将它绑定到 dataProvider 吗?
  • MyDataGridColumn 是否扩展 DataGridColumn 或 ListCollectionView?
  • 我将此值绑定到列,因为我扩展了 DataGridColumn,它根据滑块值执行背景着色。

标签: apache-flex actionscript-3


【解决方案1】:

您需要在滑块上设置更改事件处理程序,并在调度更改事件时手动更新 column.sliderValue。比如:

mySlider.addEventListener(SliderEvent.CHANGE, function(event:SliderEvent):void {
  column.sliderValue = mySlider.value;
});

【讨论】:

  • 所以我需要遍历这个数据网格的所有创建列来更新这个值?最后,我再次选择了 MXML 解决方案——不是很好,因为它更稀疏,但数据绑定更加灵活。谢谢!
猜你喜欢
  • 1970-01-01
  • 2010-10-23
  • 1970-01-01
  • 2017-12-12
  • 2019-07-10
  • 1970-01-01
  • 1970-01-01
  • 2020-08-02
  • 1970-01-01
相关资源
最近更新 更多