Как скрыть строку без удаления элемента из dataprovidor в DataGrid ... AS3, Flex? - PullRequest
1 голос
/ 08 октября 2010

Как мы можем скрыть строку по определенному индексу DataGrid в AS3?

Ответы [ 2 ]

7 голосов
/ 08 октября 2010

Если dataProvider вашего DataGrid равен ArrayCollection, вы можете указать для него filterFunction свойство, что-то подобное

dataProvider.filterFunction =
    function (item:Object):Boolean{
        if (dataProvider.getItemIndex(item)==indexOfRowYouWantToHide){
            return false;
        }
        return true;
    };

Элемент все еще будет в ArrayCollection, но будет сделан невидимым дляфильтр.Не самое эффективное решение, но оно работает.Вам необходимо позвонить

dataProvider.refresh();

, чтобы применить фильтр.

ОБНОВЛЕНИЕ: Чтобы получить доступ к необработанным, нефильтрованным данным ArrayCollection, вы должны использовать свойство list,поэтому, если вы спрятали элемент с индексом 0 и все еще хотите иметь к нему доступ, сделайте это следующим образом:

dataProvider.list.getItemAt(0);
0 голосов
/ 08 октября 2010

Нет (легкий) способ.Вы можете попытаться создать подкласс DataGrid для добавления этой функциональности, но это будет действительно тяжелая задача.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...