首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建ArrayCollection?

如何创建ArrayCollection?
EN

Stack Overflow用户
提问于 2015-11-27 16:19:46
回答 1查看 94关注 0票数 0

Advanced DatagridArrayCollection 这里的使用有一个很好的例子。我喜欢有这样的东西;

代码语言:javascript
复制
private var dpFlat:ArrayCollection = new ArrayCollection([
{Region:"Southwest", Territory:"Arizona", 
  Territory_Rep:"Barbara Jennings", Actual:38865, Estimate:40000}, 
{Region:"Southwest", Territory:"Arizona", 
  Territory_Rep:"Dana Binn", Actual:29885, Estimate:30000},  
{Region:"Southwest", Territory:"Central California", 
  Territory_Rep:"Joe Smith", Actual:29134, Estimate:30000},  
{Region:"Southwest", Territory:"Nevada", 
  Territory_Rep:"Bethany Pittman", Actual:52888, Estimate:45000},  
{Region:"Southwest", Territory:"Northern California", 
  Territory_Rep:"Lauren Ipsum", Actual:38805, Estimate:40000}, 
{Region:"Southwest", Territory:"Northern California", 
  Territory_Rep:"T.R. Smith", Actual:55498, Estimate:40000},  
{Region:"Southwest", Territory:"Southern California", 
  Territory_Rep:"Alice Treu", Actual:44985, Estimate:45000}, 
{Region:"Southwest", Territory:"Southern California", 
  Territory_Rep:"Jane Grove", Actual:44913, Estimate:45000}
]);

我需要读取一个XML文件并从中获取一些属性。然后使用这些属性创建一个自定义ArrayCollection。现在,我正在创建一个自定义的XML,但是我不再想使用XML,而是检查数组集合。

下面是我读过的代码,并创建了另一个XML

代码语言:javascript
复制
kitapKonuSayisi = _tempXMLOR.Body.Ogrenci.length();

for(var itra:int = 0; itra < kitapKonuSayisi; itra++)
{
    uniteAdi = _tempXMLOR.Body.Ogrenci[itra].UniteAdi;
    konuAdi  = _tempXMLOR.Body.Ogrenci[itra].KonuAdi;
    ogrenciAyrintiRaporArray.push([uniteAdi, konuAdi]);
}

for(var itrc:int = 0; itrc < kitapKonuSayisi; itrc++)
{
    kitapUniteSayisi = _tempXMLOR.Body.Ogrenci[itrc].UniteAdi.length();
    uniteAdi = _tempXMLOR.Body.Ogrenci[itrc].UniteAdi;
    if(raporStringUnitCheck === true)
    {
        ogrenciAyrintiRaporStr += ('\t<Unite name="' + uniteAdi + '" yuzde="' + 100 + '">\n');
        raporStringUnitCheck = false;
    }

    for(var itrd:int = 0; itrd < kitapUniteSayisi; itrd++)
    {
        if(ogrenciAyrintiRaporArray[itrd][0] == _tempXMLOR.Body.Ogrenci[itrc].UniteAdi)
        {
            konuAdi = _tempXMLOR.Body.Ogrenci[itrc].KonuAdi;
            ogrenciAyrintiRaporStr += ('\t\t<Konu name="' + konuAdi + '" yuzde="' + 100 + '"/>\n');
        }
    }
}
if(raporStringUnitCheck === false && raporStringCompCheck === false)
{
    ogrenciAyrintiRaporStr += ('\t</Unite>\n');
    ogrenciAyrintiRaporStr += ('</Rapor>');
    raporStringCompCheck = true;
    raporString2XML = new XML(ogrenciAyrintiRaporStr);
}

,那么如何创建 ArrayCollection 并在该方案中填充元素呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-30 12:13:02

所以看起来你已经有一个数组"ogrenciAyrintiRaporArray“了。您可以用它创建一个ArrayCollection:

代码语言:javascript
复制
var myArrayCollection:ArrayCollection = new ArrayCollection(ogrenciAyrintiRaporArray);

有点奇怪的是,你有一个由数组组成的数组

代码语言:javascript
复制
ogrenciAyrintiRaporArray.push([uniteAdi, konuAdi]);

通常,ArrayCollection中有一些对象,您可以很容易地使用这些对象在列表、数据栏等中显示数据。此外,访问对象中的属性比数组中的索引更容易。因此,您可能需要将其更改为:

代码语言:javascript
复制
ogrenciAyrintiRaporArray.push({uniteAdi:uniteAdi, konuAdi:konuAdi});

然后,您有一个对象的ArrayCollection,并且可以访问以下数据

代码语言:javascript
复制
var uniteAdi:* = myArrayCollection.getItemAt(0).uniteAdi;

而不是

代码语言:javascript
复制
var uniteAdi:* = myArrayCollection.getItemAt(0)[0];

这使得数据数组中0、1或2位置的位置变得不清楚。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33961340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档