2015-01-18 6 views
1

У меня есть Provider со следующими данными:AS3 - Как отслеживать/перечислять данные/значение в dataprovider?

DP.addItem({Vare:"Casual Item", Size, Type:"", Color:TColor, Amount:AmountT, Price:AmountT*79}); 

Я сделал корзину (проект школы) и после того, как я покупаю несколько предметов, данные выше получает положить в сетке, но проблема здесь что я хочу перечислить общую стоимость всех продуктов в вышеперечисленном датапортере.

Так скажем, кто-то покупает 10 футболок и 10 телефонов, 1 телефон = $ 10, 1 футболка = $ 1

В общей сложности $ 110, но я хочу что-то вроде

trace(price) 

И он должен иметь возможность перечислять все числа, собранные в столбце цены датаподавателя.

Если я неясен, скажите мне, я отредактирую это сообщение (если возможно).

ответ

1

Проверка документации по DataProvider: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/fl/data/DataProvider.html

Вы можете получить доступ к элементам, содержащиеся в поставщике данных по индексу, используя метод DataProvider.getItemAt().

В сочетании с length собственности вы должны быть в состоянии использовать цикл, чтобы пройти через все элементы ДП и просуммировать их цены. Вот как использовать различные виды для петель: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fcf.html

Первый вид выглядит многообещающим с я подсчитывая от 0.

Если вы хотите, чтобы сделать все это в одном легком пути, поставить все выше функциональность в функции, псевдо код примера:

public function getPrice():Number 
{ 
    // do for loop here 

    // sum up all prices 

    return sum; 
} 

Вы можете теперь использовать

trace(getPrice); 
+0

Имейте в виду, что я не использовали публичную функцию перед или использовали внешние .as-файлы. Поскольку у меня мало опыта работы с ActionScript, можете ли вы объяснить немного дальше? – AgentGod

+0

@AgentGod Я боюсь, что ваш собственный вопрос докажет, что вы ошибаетесь: addItem - это публичная функция, поэтому вы использовали их раньше, а DataProvider - это класс, определенный во внешнем файле .as. – null

+0

Все закодировано в основном файле .fla. Поскольку я еще не научился использовать внешние файлы. Я попробовал следующее: следа (dpz.getItemAt (0) .Price); который получит цену за первую в списке. Но я хочу, чтобы он нашел номер строки (dp.length), а затем добавил (суммировал) все числа. – AgentGod