如何摆脱组合框中已经选择的项目

时间:2011-05-12 14:40:57

标签: flex flex3 combobox arraycollection

我遇到了组合框重复问题 我有10个自动完成组合框,所有组合都具有相同的数据提供者... 假设像这个数组集合

public var costCenter:ArrayCollection = new
    ArrayCollection(["1101","1111","1121","1131","1141","1151", 
        "1161","1171","1181","1191"]);

如果用1131选择了第一个组合框,那么在下一个组合框数据提供者中不应该存在。 应该从dataprovider的集合中删除已经选定的项目 并且用户可以选择10个组合框中的第1个

我正在制作一个集合副本,并将该集合用作所有组合框的数据提供者。 如何从集合中删除已选择的项目? 有任何想法吗? 感谢。

2 个答案:

答案 0 :(得分:3)

您可以在ArrayCollection个实例上使用filterFunction,并在选择值后调用refresh()。但是所有集合应该是与单个Array作为源的不同实例。

答案 1 :(得分:0)

这样做的最好方法是从版本3.x中删除selectedIndices中的项目,然后你可以执行类似comboBox.selectedIndex = -1的操作,但在4.x中你必须执行{comboBox.selectedIndices = new Vector.<int>()之类的操作。 1}}。