我想在点击一个按钮后填充一个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:无法访问 null对象的属性或方法 参考
我不知道为什么。
非常感谢, 文森特
答案 0 :(得分:1)
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>
答案 1 :(得分:0)
你的组合框是否已经实现了? 查看错误消息,问题将来自“cbWijzigCategorie.datprovider”。它无法访问dataprovider属性,因为cbWijzigCategorie为null。
您在哪里将数据提供者分配到组合框?在组件内部或外部?
问候。
答案 2 :(得分:0)
确保arrCategories
不为空且已正确初始化。