0

为同事发帖。请不要投赞成票或反对票。

这都在同一个 MXML 文件中。

public function toggleMonitor(part:Object):void { 
    if(part.active == 0)
        part.active = 1;
    else
        part.active = 0;
}

public function monitorAll(monitor:int):void {
    for(var part:Object in blah) {
        part.active = monitor;
    }
}

<mx:DataGrid dataProvider="{blah}">
    <mx:columns>
        <mx:DataGridColumn>
            <mx:itemRenderer>
                <mx:Component>
                    <mx:Image source="{data.active == 0 ? img1 : img2}" click="outerDocument.toggleMonitor(data)"/>
                </mx:Component>
            </mx:itemRenderer>  
        </mx:DataGridColumn>
    </mx:columns>
</mx:DataGrid>

<mx:Button click="monitorAll(1)"/>

单击图像正确切换图像(即toggleMonitor功能有效)。但是单击按钮不会(即该monitorAll功能不起作用)。为什么按钮不起作用?

4

1 回答 1

0

他设法解决了这个问题。方法应该是这样的:

public function monitorAll(monitor:int):void {
    blah.refresh(); 
        for (var i:int = 0; i < blah.length; i++){
            (blah.getItemAt(i) as Object).active = monitor; 
        }
    blah.refresh(); 
}
于 2013-02-07T21:58:45.003 回答