如何创建 ArrayCollection?
How can be a ArrayCollection created?
有一个很好的例子 Advanced Datagrid
和 ArrayCollection
here 的使用。我喜欢这样的东西;
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
;
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
并填充该方案中的元素?
看来您已经有了数组 "ogrenciAyrintiRaporArray"。您可以从中创建一个 ArrayCollection:
var myArrayCollection:ArrayCollection = new ArrayCollection(ogrenciAyrintiRaporArray);
你有一个由数组组成的数组有点奇怪
ogrenciAyrintiRaporArray.push([uniteAdi, konuAdi]);
通常 ArrayCollection 中有一些对象,您可以轻松地使用它们来显示列表、数据网格等中的数据。此外,访问对象中的属性比访问数组中的索引更容易。所以你可能想把它改成:
ogrenciAyrintiRaporArray.push({uniteAdi:uniteAdi, konuAdi:konuAdi});
然后你有一个对象的 ArrayCollection 并且可以访问像
这样的数据
var uniteAdi:* = myArrayCollection.getItemAt(0).uniteAdi;
而不是
var uniteAdi:* = myArrayCollection.getItemAt(0)[0];
这使得你的数据数组中位置 0、1 或 2 的内容变得不清楚
有一个很好的例子 Advanced Datagrid
和 ArrayCollection
here 的使用。我喜欢这样的东西;
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
;
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
并填充该方案中的元素?
看来您已经有了数组 "ogrenciAyrintiRaporArray"。您可以从中创建一个 ArrayCollection:
var myArrayCollection:ArrayCollection = new ArrayCollection(ogrenciAyrintiRaporArray);
你有一个由数组组成的数组有点奇怪
ogrenciAyrintiRaporArray.push([uniteAdi, konuAdi]);
通常 ArrayCollection 中有一些对象,您可以轻松地使用它们来显示列表、数据网格等中的数据。此外,访问对象中的属性比访问数组中的索引更容易。所以你可能想把它改成:
ogrenciAyrintiRaporArray.push({uniteAdi:uniteAdi, konuAdi:konuAdi});
然后你有一个对象的 ArrayCollection 并且可以访问像
这样的数据var uniteAdi:* = myArrayCollection.getItemAt(0).uniteAdi;
而不是
var uniteAdi:* = myArrayCollection.getItemAt(0)[0];
这使得你的数据数组中位置 0、1 或 2 的内容变得不清楚