2010-10-01 47 views
0

我無法編譯以下Flex應用程序。
我想要做的就是擴展DataGridColumn類。
我收到以下編譯錯誤: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> 

回答

5

你必須使用<local:itemRenderer>,而不是<mx:itemRenderer>以來的itemRenderer是一個屬性具有名稱空間前綴local的ExtendedDataGridColumn。屬性的名稱空間前綴必須與組件的前綴相匹配。

所以,正確的代碼是:

<?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> 
+0

+1良好的漁獲.. :) – Amarghosh 2010-10-01 11:38:01

+0

救了我,太! – code90 2012-02-29 13:50:03