我无法编译以下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>
答案 0 :(得分:5)
您必须使用<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>