如何在Flex中的组合框中禁用单个项目以使其无法单击?

时间:2008-11-02 20:30:46

标签: flex

我想在flex中创建一个组合框,它将采用三个值:Available,Unavailable和Busy。约束是,我不应该允许用户直接从Unavailable转到Busy。因此,当选择用户不可用时,我应该禁用忙碌项目(不可选),但用户将能够直接从可用到忙碌。我无法找到一种直接的方法来禁用Flex中的组合框中的项目。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您是否考虑过使用单选按钮而不是组合框?一方面,它很清楚如何为单选按钮执行此操作。此外,提供可用选项通常更友好,而无需单击以显示它们。 (特别是如果在这种情况下,你增加了一个选项“可用,但由于某些原因你现在无法在这个组合框项目中显示”的可能性。)

如果你真的想要一个组合框,你可以使用click事件以非标准的方式显示它,可能会改变它的风格;然后,如果仍然点击,那么,在所选择的事件中,拒绝选择(希望指示原因),

或者,如果您只想从列表中删除它,您可以让Click听取器事件每次根据条件重新填充源列表。但这也可能让用户感到困惑。

答案 1 :(得分:1)

您还可以查看

www.stoimen.com/blog/2009/03/05/flex-3-combobox-disabled-options/

引用

wmcai.blog.163.com/blog/static/4802420088945053961/

(注意NoScript用户必须至少暂时允许163.com和126.com 能够正确看到这个页面)

即使我添加了能够正确处理键盘的代码,它也能很好地工作 下拉列表中的事件

提供完整的自我工作示例

http://olivierbourdon.homedns.org/OpenSource/combos.zip

再次感谢您的出色工作