【发布时间】:2012-09-28 14:11:55
【问题描述】:
在列表组件中,如何允许多个选择,但允许的最大选择数量基于预定义的数量?
到目前为止我得到的是......我首先定义了最大选择数:
私有变量 numberOfYearsCanSelect:int = 3;
我在列表组件中设置了 allowMultipleSelection = true。
在更改列表组件时,我添加了逻辑以查看用户选择的内容是否超过了他们允许选择的内容,如果是,我将 selectedItems 的长度设置为他们可以选择的最大数量:
if (event.currentTarget.selectedIndices.length > numberOfYearsCanSelect)
{
var arr:Vector.<Object>=event.currentTarget.selectedItems;
arr.length=numberOfYearsCanSelect;
event.currentTarget.selectedItems=arr;
}
问题在于,由于某种原因,当我设置 selectedItems 时列表没有更新。它允许您选择所需的数量。
我想要发生的是,当用户选择的数量超过允许的数量时,我们只选择那个数字,其余的不选择。
也许我需要对视图进行某种列表刷新以使其工作,或者我应该通过扩展列表类并覆盖某些方法来创建自定义列表?
谢谢
【问题讨论】:
标签: apache-flex list actionscript datagrid flash-builder