【问题标题】:Flex : Unable to extend DataGridColumnFlex:无法扩展 DataGridColumn
【发布时间】:2010-10-01 10:35:01
【问题描述】:

我无法编译以下 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>

【问题讨论】:

    标签: apache-flex datagrid


    【解决方案1】:

    您必须使用&lt;local:itemRenderer&gt; 而不是&lt;mx:itemRenderer&gt;,因为 itemRenderer 是 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>
    

    【讨论】:

      猜你喜欢
      • 2010-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 2011-10-13
      • 2011-12-17
      • 2010-12-16
      相关资源
      最近更新 更多