ArrayCollection getItemAt

Създадох инструмент за изобразяване на елементи за компонента на списъка Flex Spark. Проблемът е, че този код няма да работи:

    <s:Label left="10" right="10" top="10" bottom="10" fontSize="13" text="{data.getItemAt(1).toString()}"
         textAlign="left" verticalAlign="middle"/>

Докато този код ще:

    <s:Label left="10" right="10" top="10" bottom="10" fontSize="13" text="{data[1].toString}"
         textAlign="left" verticalAlign="middle"/>

Не мога да използвам по-късния код поради проблеми със свързването. Някой има ли идея какво правя погрешно?


person Chris Smith    schedule 02.08.2011    source източник
comment
моля, покажете целия код във вашия рендеринг на артикул и моля, покажете какви са данните, които получавате. Струва ми се, че тук има тиха грешка, защото данните, които се изпращат, са масив, а не ArrayCollection, следователно функцията getItemAt не работи и не се свързва.   -  person J_A_X    schedule 02.08.2011


Отговори (1)


Както се казва в коментара на @J_A_X, това са две напълно различни неща.

{data.getItemAt(1)...

Отнася се за ArrayCollection или евентуално за друга колекция.

{data[1]...

Отнася се за масив.

Опитът да се третира масив като колекция от масиви няма да ви стигне много далеч. Бих препоръчал да се уверите, че всеки елемент във вашия списък всъщност е ArrayCollection. Като алтернатива бих подкрепил по-силно замяната им със стойностни обекти и обвързването към „заглавие“, „текст“ или каквото и да е свойство, което по-правилно дефинира текста, който искате да покажете.

{data.title}
person Sam DeHaan    schedule 02.08.2011
comment
Да, вероятно правя грешка. data е ArrayCollection, която съдържа масиви. Някаква идея как мога да конвертирам вложените масиви в ArrayCollections? - person Chris Smith; 02.08.2011
comment
Откъде идва колекцията от масиви? - person Sam DeHaan; 02.08.2011