Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.10.2011, 13:53
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 1  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
По умолчанию List + ItemRenderer = полная неразбериха.

Компонент Spark List использует для вывода данных кастомный ItemRenderer, а в качестве DataProvider - ArrayCollection. В Itemrenderer передается несколько параметров и на их основе выводятся данные.
В Листе все выводится правильно. Но обращение к data.myParams в итемрендерере по Creation Complite выводит полную ерунду - данные путаются, сдвигаются по позициям. При этом ДатаПровайдер остается неизменным.
Десять раз все перепроверил.
Подскажите, плиз, где искать ошибку?

Старый 17.10.2011, 14:17
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 2  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
Что за элементы в ArrayCollection?

Старый 17.10.2011, 14:28
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 3  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Объекты с разными свойствами.

Добавлено через 5 минут
Ещё добавлю. Вообще элементов в массиве 8, выводится в листе 8 объектов, а creation complite вызывается только 7 раз.

Старый 17.10.2011, 14:43
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 4  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
для начала посмотрите что у вас попадает в itemrenderer:

Код AS3:
protected function itemrenderer1_creationCompleteHandler(event:FlexEvent):void{
	var s:String = '  ';
	for (var prop in data)
		s += prop + '=' + data[prop] + ' ; ';
	trace('type: ', typeof data, s); 
}

Старый 17.10.2011, 14:44
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 5  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
В общем нашел решение проблемы. Нужно оверрайдить данные в итем рендерер.
Примерно так:
Код AS3:
override public function set data(value:Object):void {      
					if(value != null)  {
						super.data = value;
						//тут определить все нужные данные
					}   
					dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
				}
Добавлено через 1 минуту
trng, спасибо.
Я все это уже смотрел. Ерунда полная выводилась. Решение выше.


Последний раз редактировалось Astraport; 17.10.2011 в 14:48.
Старый 17.10.2011, 14:51
trng вне форума Посмотреть профиль Отправить личное сообщение для trng Найти все сообщения от trng
  № 6  
Ответить с цитированием
trng

Регистрация: Jun 2011
Сообщений: 212
Ясно. Был включен useVirtualLayout?

Старый 17.10.2011, 15:15
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 7  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Нет, не был.

Старый 18.10.2011, 08:45
billion вне форума Посмотреть профиль Отправить личное сообщение для billion Посетить домашнюю страницу billion Найти все сообщения от billion
  № 8  
Ответить с цитированием
billion

Регистрация: Jan 2002
Сообщений: 149
Отправить сообщение для billion с помощью ICQ
Столкнулся с такой же проблемой.... список ведёт себя нормально, но вот его Items прыгают куда хотят... помогите прикрутить данный код плиз.... это надо отдельный класс создавать для ItemRenderer? у меня щас всё через компоненты mxml работает

Старый 18.10.2011, 11:22
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 9  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Пихайте код из сообщения № 5 в MXML реализующий ваш ItemRenderer.
Ну или приводите свой код.

Старый 18.10.2011, 12:25
billion вне форума Посмотреть профиль Отправить личное сообщение для billion Посетить домашнюю страницу billion Найти все сообщения от billion
  № 10  
Ответить с цитированием
billion

Регистрация: Jan 2002
Сообщений: 149
Отправить сообщение для billion с помощью ICQ
как-то странно себя ведёт эта штуковина.... то глючит, то не глючит....

кстати код на 450 строк.... пока не оптимизировал....попробую сначала воспроизвести последовательность при которой Итемсы скачут кто-куда.... если не удастся решить проблему, выложу код сюда

Создать новую тему Ответ Часовой пояс GMT +4, время: 06:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 06:39.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.