无法使用parentDocument通过itemRenderer访问方法

时间:2015-02-27 20:42:54

标签: actionscript-3 flash flex flash-builder

我在dataGrid中有一个itemRenderer,无法访问方法

<s:Module>
    <fx:Script>
      <![CDATA[

public function mysort():void{

}

]]>

...<s:panel>...

 <s:GridColumn headerText="Service Type" dataField="ServiceType" width="130"  labelFunction="labelServicePriority">
   <s:headerRenderer>
          <fx:Component>
               <s:GridItemRenderer>
                        <s:Button label="sort" click="parentDocument.mysort()"/>

                </s:GridItemRenderer>
            </fx:Component>
    </s:headerRenderer>
</s:GridColumn>
...</s:panel>...
</s:Module>

该模块位于具有iframe

的应用程序中

1 个答案:

答案 0 :(得分:0)

以下是您的问题的解决方案:

我使用以下方法调用该方法。希望它会对你有所帮助:

<s:DataGrid id="gridTest" width="90%" height="100%" dataProvider="{tempList}" horizontalScrollPolicy="auto" >
        <s:columns>
            <mx:ArrayList>
                <mx:source>
                    <s:GridColumn>
                        <s:itemRenderer>
                            <fx:Component>
                                <s:GridItemRenderer width="100%" height="100%">
                                    <s:Image source="imageIcon" horizontalCenter="0" verticalCenter="0" buttonMode="true" 
                                             click="{outerDocument.onAddIconClick(data)}"/>
                                </s:GridItemRenderer>
                            </fx:Component>
                        </s:itemRenderer>                   
                    </s:GridColumn>
                </mx:source>
            </mx:ArrayList>
        </s:columns>
    </s:DataGrid>

这是功能:

  public function onAddIconClick(item:Object):void
  {
    //
  }