我想在flex中创建一个组合框,它将采用三个值:Available,Unavailable和Busy。约束是,我不应该允许用户直接从Unavailable转到Busy。因此,当选择用户不可用时,我应该禁用忙碌项目(不可选),但用户将能够直接从可用到忙碌。我无法找到一种直接的方法来禁用Flex中的组合框中的项目。我怎么能这样做?
答案 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
再次感谢您的出色工作