我有一个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()
在这种情况下有什么方法可以实现数据绑定?