Ошибка 1120: доступ к неопределенному свойству - PullRequest
0 голосов
/ 22 февраля 2010

У меня есть <mx:Script> в главном файле, где я определяю это:

[Bindable]
private var dpCols:ArrayCollection = new ArrayCollection([
{'prx':'bl', 'nmb':'Blanco', 'ral':'RAL1013', 'hex':'E8E4CD'},
{'prx':'am', 'nmb':'Amarillo', 'ral':'RAL1005', 'hex':'C79E03'},
{'prx':'gr', 'nmb':'Gris Perla', 'ral':'RAL7045', 'hex':'8E939E'}
 ]);

Я могу использовать его как dataProvider во многих местах, но не здесь:

<mx:TileList dataProvider="{dpCols}">
    <mx:itemRenderer>
    <mx:Component>
        <mx:Box backgroundColor="{int('0x' + data.hex)}"
            height="64" width="72">
            <mx:Label text="{data.ral}" textAlign="center" width="100%"/>
            <mx:Label text="{data.nmb}" textAlign="center" width="100%"/>
        </mx:Box>
    </mx:Component>
    </mx:itemRenderer>
</mx:TileList>

Этот TileList находится в пределах <radg:RaDG> (мой подкласс для AdvancedDataGrid), <radg:columns>, <mx:AdvancedDataGridColumn>, <mx:itemEditor> и <mx:Component>. Если я положу это снаружи, это просто работает. Но мне нужно, чтобы положить его имеет ItemEditor.

Как мне обратиться к dpCols тогда? (или как я могу решить эту ошибку?)

Спасибо!

1 Ответ

1 голос
/ 22 февраля 2010

Вам нужно outerDocument, поскольку вы находитесь внутри тега <mx:Component>. См. Раздел «Использование тега компонента» на этой странице документов Adobe или на этом SO вопросе .

Если вы особенно усложняете работу с вложениями, вам может потребоваться использовать parentDocument вместо этого, но похоже, что outerDocument должно работать в вашем случае (только одна вложенность тегов <mx:Component> ).

Использование:

<mx:TileList dataProvider="{outerDocument.dpCols}" />
...