铸造结果.将flex中的人(班级)的阵列汇编



我有点新的flex环境,我想知道如何做这种情况:

我的初始代码如下:

public function displayAllNames(event:ResultEvent):void {
    var result:ArrayCollection  = new ArrayCollection();
    result = event.result as ArrayCollection;
   if (result.length != 0){
       listBox.dataProvider = result;
   }
}

event.result 是具有名称属性

的人类类的数组

listbox 是flex中列表组件的ID,其中将显示名称

当我尝试运行代码时,ListBox确实显示了一些内容。但是,它不代替名称,而是全部显示对象。似乎我仍然必须使用 event.result 首先做某事,以便它是人类班级的数组。

您需要设置ComboBox的Labelfield,尝试此

假设人具有可见名称属性,

public class Person(){
   public var name:String = "User 1";
}

您可以告诉您的列表框使用该属性通过使用labelField属性

来填充其标签字段
if (result.length != 0){
   listBox.labelField = "name";
   listBox.dataProvider = result;
}

默认情况下,我相信将其设置为"label",如果找不到该属性,它将使用Object.toString(),即[Object object]来自的位置。

因此,也可以覆盖或简单地包括数据提供商类中的toString方法,而不是更改列表的labelField

overide pubic function toString():String{
    return "this will become your label field";
}

相关内容

  • 没有找到相关文章

最新更新