ArrayCollection未在循环内刷新

时间:2012-02-27 13:05:21

标签: loops combobox flex4 arraycollection

我有一个for循环,在循环中我调用一个返回ArrayCollection的远程对象方法。在循环的每次迭代中,ArrayCollection的内容发生变化,我在每次迭代中将dataProvider的{​​{1}}设置为ComboBox

但是,只有我的上一个ArrayCollection被绑定到ComboBox的最新内容。

ArrayCollection是一个函数,它将循环中的值作为参数,如上所述,在每次迭代中,由于调用了这个函数,arrayCollection的内容会发生变化。

以下是我的代码段:

remote_obj.getYN

这是Flex中的getYN结果函数。

public function myFunc():void{

    for (roller = 0; roller < customizedFields_array.length; roller++) { 
        var newCol:FlexDataGridColumn = new FlexDataGridColumn();
        remote_obj.getYN(customizedFields_array.getItemAt(roller).FLD);
        newCol.filterComboBoxDataProvider = _YN; 
        newCol.filterComboBoxLabelField =customizedFields_array.getItemAt(roller).FLD; 
        newCol.filterComboBoxDataField =customizedFields_array.getItemAt(roller).FLD; 
        }
        cols.push(newCol);
    } 
        myDataGrid.columns = cols;
}

有人可以告诉我如何解决这个问题吗? 非常感谢你的宝贵帮助。

1 个答案:

答案 0 :(得分:0)

试试这个:

customizedFields_array.refresh();  // refresh the array collection
myDataGrid.invalidateDisplayList();// refresh the datagrid