Flex ComboBox,默认值和数据提供者
时间:2020-03-05 18:45:12 来源:igfitidea点击:
我有一个由数据提供程序填充的Flex ComboBox,一切都很好...
我现在想在0索引处添加一个默认的" -select a item-"选项,我该怎么做,仍然使用dataprovider?我还没有看到这样的例子,但是我无法想象这很难。
解决方案
回答
我过去处理此问题的方式是创建一个新集合用作组合框的数据提供程序,然后侦听对原始源的更改(使用mx.BindingUtils.ChangeWatcher
)。收到此类通知时,我将重新创建自定义数据提供程序。
我希望我知道更好的方法来解决这个问题;我会监视这个问题以防万一。
回答
如果我们不需要默认项是可选的,则可以使用"组合框"的"提示"属性,并将" selectedIndex"设置为-1. 这将显示我们将" propmt"设置为选定值的字符串,直到用户选择另一个为止。但是,它不会出现在选项列表中。
回答
我今天遇到了这个问题,想分享我的解决方案。
我有一个ComboBox,它的ArrayCollection包含Objects作为它的dataprovider。当应用程序运行时,它使用RemoteObject出去并获得ArrayCollection / Objects。在该调用的事件处理程序中,我只需要将另一个对象添加到ArrayCollection的开头并选择它:
var defaultOption:Object = {MyLabelField: "Select One"}; myDataProvider.addItemAt(defaultOption, 0); myComboBox.selectedIndex = 0;
这是我的ComboBox看起来可供参考:
<mx:ComboBox id="myComboBox" dataProvider="{myDataProvider}" labelField="MyLabelField" />