将dataProvider设置为comboBox

时间:2011-02-14 11:51:52

标签: flex combobox dataprovider arraycollection

当以编程方式将arrayCollection作为dataProvider设置为comboBox时,如果arrayCollection只有一个元素,我需要做一个小的验证:

> public resultHandler(event:ResultEvent):void{

   arrColl = event.result.FlexData.ListData as ArrayCollection; 

//to check if the arrColl has only one element 

if(arrColl == null)
      myComboBox.dataProvider = event.result.FlexData.ListData

else

 myComboBox.dataProvider = arrColl;

}

我想知道,如果每次都有办法跳过此验证。有没有办法设置dataProvider,这样我就不必检查集合是否有一个或多个元素?

1 个答案:

答案 0 :(得分:3)

没有内置方法可以做到这一点。

您需要:

  • 创建一个执行此操作的实用程序方法。例如

    myComboBox.dataProvider = ComboBoxUtil.setDataProvider(collection);
    
  • 继承ComboBox控件并覆盖dataProvider setter,您可以在其中包含此逻辑