0

我有一个s:GridItemRenderer包含单个的自定义项,s:CheckBox用于显示网格中项目的布尔属性,该属性dataProvider取决于为列设置的数据字段:

<s:GridItemRenderer>
    <s:CheckBox selected="{this.data[this.column.dataField]}"/>
</s:GridItemRenderer>

我不能(或者更确切地说:我不想)对属性进行硬编码,因为我想让渲染器尽可能通用,并且对属性名称进行硬编码需要我编写至少 2 个其他相同的渲染器。

现在的问题是 dataProvider 只包含匿名对象(例如{foo:"blah", bar:"blubb", isBaz:true})并且数据绑定不适用于哈希查找。由于属性名称不是固定的而是动态的,所以我不能使用点语法来访问对象上的属性。

我已经在网上搜索了可能的解决方案,但没有找到任何可行的解决方案。我尝试按照此处的建议mx:ObjectProxy使用 an作为数据项的包装器,但这不起作用。我尝试按照此处的建议手动创建绑定,但这也不起作用。mx:BindingUtils.bindProperty()

在这种情况下有什么方法可以实现数据绑定?

4

1 回答 1

0

在一些重构过程中,结构发生了dataProvider变化,我被要求itemRenderers为每个数据网格编写特定的代码,因此不再支持通用方法,问题基本上自行解决。:)

于 2012-10-18T09:40:10.010 回答