Flex: невозможно расширить DataGridColumn - PullRequest
0 голосов
/ 01 октября 2010

Я не могу скомпилировать следующее приложение Flex.
Все, что я пытаюсь сделать, это расширить класс DataGridColumn.
Я получаю следующую ошибку компиляции:

Не удалосьпреобразование в реализацию компонента.
DataGridColumnTest / src DataGridColumnTest.mxml строка 6

DataGridColumnTest.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local='*'>
    <mx:DataGrid x="191" y="32">
        <mx:columns>
            <local:ExtendedDataGridColumn headerText="Column 1" dataField="col1">
                 <mx:itemRenderer>
                    <mx:Component>
                        <mx:Button label="test"/>
                    </mx:Component>
                </mx:itemRenderer>
           </local:ExtendedDataGridColumn>
        </mx:columns>
    </mx:DataGrid>
</mx:Application>

ExtendedDataGridColumn.mxml:

<?xml version="1.0" encoding="utf-8"?>
<mx:DataGridColumn xmlns="*" xmlns:mx="http://www.adobe.com/2006/mxml"> 
</mx:DataGridColumn>

1 Ответ

5 голосов
/ 01 октября 2010

Вы должны использовать <local:itemRenderer> вместо <mx:itemRenderer>, поскольку itemRenderer является свойством ExtendedDataGridColumn, который имеет префикс пространства имен local.Префикс пространства имен свойств должен совпадать с префиксом компонента.

Итак, правильный код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local='*'>
    <mx:DataGrid x="191" y="32">
        <mx:columns>
            <local:ExtendedDataGridColumn headerText="Column 1" dataField="col1">
                 <local:itemRenderer>
                    <mx:Component>
                        <mx:Button label="test"/>
                    </mx:Component>
                </local:itemRenderer>
           </local:ExtendedDataGridColumn>
        </mx:columns>
    </mx:DataGrid>
</mx:Application>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...