Показать сообщение отдельно
Старый 27.04.2016, 19:58
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 4  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
GBee, привет дружище)
Проблема в том, что рендеры пересоздаются.
Да, можно хранить во внешних классах, но при перетаскивании ещё и индексы меняются и все это нужно учитывать. Все путается у меня постоянно.
Я думал может есть какие-то встроенное решение, у Флекса куча разных возможностей и свойств, но похоже придется топорно городить огород.

Добавлено через 2 часа 25 минут
Цитата:
отдаем локальному листу этот data.socialVector как датапровайдер
Ну вот я делаю практически так же.
У меня есть объект PostData который является элементом датапровайдера для главного List:
Код AS3:
package
{
	import flash.events.EventDispatcher;
	import mx.collections.ArrayCollection;
 
	[Bindable]
	public class PostData extends EventDispatcher {
		public var sort:int;
		public var uid:String;
		public var text:String;
		public var image:String;
		public var url:String;
		public var socials:Vector.<int>;
		public var res:Vector.<int>;
		public var resources:ArrayCollection;
		public var tags:String;
		public var published:Boolean;
	}
}
Параметр resources является ArrayCollection который является датапровайдером socIR. Вроде бы для каждого итемрендерера свой.
К resources привязываю другой ArrayCollection, который имеет данными такой объект:
Код AS3:
ackage
{
	import flash.events.EventDispatcher;
 
	[Bindable]
	public class ResData extends EventDispatcher
	{
		public var uid:String;
		public var name:String;
		public var url:String;
		public var social:int;
		public var tags:String;
		public var mintags:int;
		public var maxtags:int;
		public var selected:Boolean;
	}
}
Где selected отвечает за выделение итема.

Теперь как связать выделение с данными? Если кликаю по итему, то я назначаю внутри его:
Код AS3:
if (this.selected) {
		data.selected = true;
	} else {
		data.selected = false;
	}
Если так не назначать, то при драге все выделения слетают. Если так назначать, то при драге выделение не слетают, но при выделении например первого итема все первые итемы в остальных рендерах тоже выделяются. И вот как от этого избавиться непонятно.
__________________
In Code We Trust


Последний раз редактировалось Astraport; 27.04.2016 в 22:25.