Flash DataGrid DataProvider操作

时间:2013-02-07 21:25:20

标签: flash actionscript datagrid dataprovider

发布给同事。请不要投票或投票。

这都在同一个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功能不起作用)。为什么按钮没有工作?

1 个答案:

答案 0 :(得分: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(); 
}