Adobe Flex arraycollection - PullRequest
       29

Adobe Flex arraycollection

0 голосов
/ 22 августа 2011

Я хочу использовать один объект коллекции для двух разных компонентов пользовательского интерфейса.1. Datagrid и 2nd является компонентом диаграммы.Я не хочу ничего менять внутри объекта arraycollection, но я хочу использовать его одновременно с двумя разными компонентами с небольшими изменениями.Я знаю, что мы можем использовать функцию фильтра, как, но не уверены, как применить фильтр к объекту arraycollection, чтобы один компонент (сетка данных) мог использовать исходный объект arraycollection, а второй компонент (диаграмма) использовал модифицированный.

Спасибо

1 Ответ

4 голосов
/ 22 августа 2011

Если вы используете тот же ArrayCollection, что и dataProvider для двух разных компонентов, то любой фильтр или сортировка, примененная к этому ArrayCollection, будет отображаться в обоих компонентах.

То, что вы хотите сделать, не может быть сделано.

Однако вы можете создать несколько коллекций ArrayCollections на основе одного и того же источника и применять к ним фильтры по-разному. Концептуально что-то вроде этого:

public var arrayCollection1 : ArrayCollection = new ArrayCollection();
public var arrayCollection2 : ArrayCollection = new ArrayCollection();

protected function onIGotTheArray(value:Array):void{
 arrayCollection1.source = value;
 arrayCollection2.source = value;
 dataGrid.dataProvider = arrayCollection1;
 chart.dataProvider = arrayCollection2;
}

Теперь вы можете применить фильтр к первой коллекции arrayCollection, не затрагивая вторую коллекцию arrayCollection, или наоборот.

Это предпочтительный подход в моем опыте.

...