У меня есть пользовательский s:GridItemRenderer
, который содержит один s:CheckBox
и используется для отображения логического свойства элементов в сетке dataProvider
, которое зависит от того, какой dataField был установлен для столбца:
<s:GridItemRenderer>
<s:CheckBox selected="{this.data[this.column.dataField]}"/>
</s:GridItemRenderer>
Я не могу (или, скорее: я не хочу) жестко кодировать свойство, так как я хочу, чтобы средство визуализации было как можно более общим, а жесткое кодирование имени свойства потребовало бы от меня написания как минимум двух идентичных средств визуализации.
Теперь проблема в том, что dataProvider содержит только анонимные объекты (например, {foo:"blah", bar:"blubb", isBaz:true}
), а привязка данных не работает с поиском по хешу. Поскольку имя свойства не фиксированное, а также динамическое, я не могу использовать точечный синтаксис для доступа к свойству объектов.
Я уже искал в Интернете возможное решение, но не нашел ни одного работающего. Я попытался использовать mx:ObjectProxy
в качестве оболочки для элемента данных как предлагается здесь, но это не сработало. Я попытался вручную создать привязку с помощью mx:BindingUtils.bindProperty()
как предлагается здесь, но это тоже не работал.
Есть ли способ добиться привязки данных в этой ситуации?