Apache flex 如果选择了10个以上的复选框,则显示警报

Apache flex 如果选择了10个以上的复选框,则显示警报,apache-flex,checkbox,Apache Flex,Checkbox,我在数据网格中有一列包含复选框。 我想在选中10个以上复选框时发出警报, 表示选中第11个复选框时,它应发出警报 我尝试了下面的代码,但这需要很多时间,我正在寻找一些优化的方法, 在更改复选框的处理程序时 protected function checkbox_changeHandler(event:Event):void { data.isUpdated=true; data.incpt=chkflag.selected; var selectionArray=[];

我在数据网格中有一列包含复选框。 我想在选中10个以上复选框时发出警报, 表示选中第11个复选框时,它应发出警报

我尝试了下面的代码,但这需要很多时间,我正在寻找一些优化的方法, 在更改复选框的处理程序时

protected function checkbox_changeHandler(event:Event):void
{
    data.isUpdated=true;
    data.incpt=chkflag.selected;
    var selectionArray=[];

    for each(var item:Object in outerDocument.adg.dataProvider)
    {
        if(item.incpt)
            selection.push(item);
    }
    if(selectionArray.length > 10)
    {
        for each(var item:Object in outerDocument.adg.dataProvider)
        {
            chkflag.selected=false;
            data.incpt=chkflag.selected;
            outerDocument.adg.dataProvider.refresh();
        }
        Alert.show("Max 10 Items can be selected");
    }
}

在你的代码中,
selectionArray
从未被使用过,我认为这是一个打字错误,你有
selection.push(item)
&
selection.length
如果我没有错的话,你的意思是
selectionArray
。在我看来,在数组中推送选中项的部分是正常的。我不太理解第二部分,您将所有选中的列设置为false。我们不能从数组中删除最近推送的项,显示警报并从函数返回吗?如果这是一个特定的要求,那么我认为代码看起来不错。我在上面的代码中更正了数组名称,在第二个循环中,我将设置为false以禁用第10项之后的所有复选框。此代码可以工作,但作为每个项的循环运行,如果我有100条记录,则需要花费大量时间来显示警报代码中可能存在的重复项
selectionaray
从未使用过,我认为这是一个打字错误,因为您有
选择项。推(项)
&
选择项。长度
如果我没有错的话,您的意思是
selectionaray
。在我看来,在数组中推送选中项的部分是正常的。我不太理解第二部分,您将所有选中的列设置为false。我们不能从数组中删除最近推送的项,显示警报并从函数返回吗?如果这是一个特定的要求,那么我认为代码看起来不错。我更正了上面代码中的数组名称,在第二个循环中,我将设置为false以禁用第10项之后的所有复选框。此代码有效,但作为每个项的循环运行,如果我有100条记录,则需要花费大量时间来显示可能的重复项