Как бы я скрыл указанное значение от отображения в массиве в сетке данных? - PullRequest
0 голосов
/ 10 февраля 2011

Например, скажем, у меня есть:

public var usersOnlineArray:Array = new Array(bob,jim,tim,marry,luke);

и когда я добавляю это в свою сетку данных следующим образом:

buddylist.dataProvider = new DataProvider(usersOnlineArray);
buddylist.rowCount = buddylist.length;
bldBuddyList(buddylist);

Как я могу, скажем, предотвратить появление Люкав датагрид?По сути, заставить его не появляться, но технически «все еще быть там», чтобы я мог заставить его появиться позже, но?

Ответы [ 2 ]

0 голосов
/ 10 февраля 2011

Я бы начал с использования ArrayCollection, а не Array, поскольку таким образом можно использовать привязку данных.

ArrayCollection также имеет свойство filterFunction, которое позволит вам скрывать вещи, но при этом сохранять их в коллекции. документы будут расширяться на все это, но суть:

Создайте ArrayCollection, он просто берет простой оле-массив в конструкторе.

public var usersArr:Array = [bob, jim, tim, marry, luke];

public var usersAC:ArrayCollection = new ArrayCollection(usersArr);

Установите AC в качестве поставщика данных для Списка.

buddyList.dataProvider = usersAC;

Определить функцию фильтра. Эта функция принимает объект и возвращает true, если он должен быть видимым, и false, если нет.

public function myFilterFunction(o:Object):Boolean
{
   if (o.toString() == "luke") return false;

   return true;
}

Затем примените эту функцию к AC.

usersAC.filterFunction = myFilterFunction;

Чтобы удалить фильтр, просто обнулите наше свойство filterFunction.

usersAC.filterFunction = null;

0 голосов
/ 10 февраля 2011

Если вы прикрепите массив в ArrayCollection, вы можете добавить к нему функцию фильтра. Базовые данные не затрагиваются.

...