[英]Dynamic populate ComboBox (Flex)
我想在单击按钮后填充ComboBox。
这是我的代码:
var dpNames:ArrayCollection = new ArrayCollection();
for each(var ca:Categorie in arrCategories)
{
dpNames.addItem ({label: ca.name, data: ca.value});
}
cbWijzigCategorie.dataProvider = dpNames;
但是当他执行最后一行时,我总是得到以下错误:
TypeError:错误#1009:无法访问空对象引用的属性或方法。
我不知道为什么。
非常感谢Vincent
private function categorieItemClick(evt:ItemClickEvent):void
{
var dpNames:ArrayCollection = new ArrayCollection();
for each( var ca:Categorie in arrCategories)
{
dpNames.addItem ({label: ca.Name, data: ca.Name});
}
cbWijzigCategorie.dataProvider = dpNames;
}
<mx:ButtonBar
x="10" y="36"
id="tbtnbarCategorie"
dataProvider="vsCategorie"
itemClick="categorieItemClick(event)">
</mx:ButtonBar>
<mx:ViewStack
x="10" y="64"
id="vsCategorie"
width="601" height="343">
<mx:Canvas label="Wijzig categorie"
id="cnvsChangeCategorie"
width="100%" height="100%">
<mx:Label
x="10" y="10"
text="Kies categorie"/>
<mx:ComboBox
x="101" y="8"
id="cbWijzigCategorie"></mx:ComboBox>
</mx:Canvas>
</mx:ViewStack>
您的组合框被指示了吗? 查看错误消息,问题将来自“ cbWijzigCategorie.datprovider”。 由于cbWijzigCategorie为空,它无法访问dataprovider属性。
您在哪里将数据提供者分配给组合框? 在组件内部还是外部?
问候。
确保arrCategories
不为空并且已正确初始化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.