我有一个包含单个s:GridItemRenderer
的自定义s:CheckBox
,用于显示网格dataProvider
中项目的布尔属性,该属性取决于为其设置的dataField柱:
<s:GridItemRenderer>
<s:CheckBox selected="{this.data[this.column.dataField]}"/>
</s:GridItemRenderer>
我不能(或者更确切地说:我不想)对该属性进行硬编码,因为我希望尽可能保持渲染器的通用性,并且对属性名称进行硬编码将需要我编写至少2个相同的渲染器。< / p>
现在的问题是dataProvider只包含匿名对象(例如{foo:"blah", bar:"blubb", isBaz:true}
),而数据绑定不能用于哈希查找。由于属性名称不是固定的,而是动态的,我不能使用点语法来访问对象的属性。
我已经在网上搜索了一个可能的解决方案,但没有发现任何有效的方法。我尝试使用mx:ObjectProxy
作为数据项as suggest here的包装,但这不起作用。我尝试使用mx:BindingUtils.bindProperty()
as suggested here手动创建绑定,但这也无效。
在那种情况下有没有办法实现数据绑定?
答案 0 :(得分:0)
在一些重构期间,dataProvider
的结构发生了变化,我被要求为每个数据网格编写特定的itemRenderers
,因此不再支持通用方法,问题基本上自行解决。 :)