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

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

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

Регистрация: Jun 2010
Сообщений: 97
По умолчанию Как отфильтровать AdvancedDataGrid

Собственно сабж

Только нужно фильтровать не DataProvider, а саму таблицу. То есть, визуальное ее отображение. Чтоб на экран выводились только удовлетворяющие заданным параметрам ряды.

Старый 15.08.2011, 16:12
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Сделать копию коллекции, установить ее в качестве dataProvider (это свойство, а не класс. Не стоит писать DataProvider) и отфильтровать. Ну, или сначала отфильтровать, а потом установить как dataProvider.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 15.08.2011, 16:20
Jitakuzu вне форума Посмотреть профиль Отправить личное сообщение для Jitakuzu Найти все сообщения от Jitakuzu
  № 3  
Ответить с цитированием
Jitakuzu

Регистрация: Jun 2010
Сообщений: 97
Понял, с большой буквы написал - не прав.
Дело в том, что тогда, отфильтровав таблицу, если внести в нее изменения, то они не отразятся на первоначальном источнике.
К примеру:
Код AS3:
var newArr:Array = dataGrid.dataProvider.filter(filterFunc);
dataGrid.dataProvider = newArr;
Теперь все изменения будут вносится в newArr, а мне надо, чтоб не прошедшие фильтр поля тоже остались в памяти, просто не выводились на экран. То есть, я применю фильтр, внесу изменения, отключу фильтр и хочу увидеть полную таблицу, но с измененными полями. Надеюсь, понятно. Такое возможно?

Старый 15.08.2011, 16:33
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Функция фильтрации ничего не удаляет, только возвращает true/false для каждого элемента, если вам не важен порядок элементов в исходной коллекции, то копию делать не нужно. Если убрать фильтр, все элементы станут опять видны.

В любом случае, вы всегда можете получить доступ к неотфильтрованным данным через ListCollectionView#list.

Цитата:
var newArr:Array = dataGrid.dataProvider.filter(filterFunc);
Откуда вы взяли функцию filter возвращающую массив?

Добавлено через 2 минуты
Для того что бы фильтровать данные вам нужен ArrayCollection или ListCollectionView и ListCollectionView#filterFunction.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 15.08.2011, 16:46
Jitakuzu вне форума Посмотреть профиль Отправить личное сообщение для Jitakuzu Найти все сообщения от Jitakuzu
  № 5  
Ответить с цитированием
Jitakuzu

Регистрация: Jun 2010
Сообщений: 97
ок, спасибо, буду разбираться.

Добавлено через 18 минут
Я в качестве dataProvider использовал Array. Поменял на ArrayCollection и все заработало. Спасибо.
Единственное, осталась одна проблема, может поможете? http://www.flasher.ru/forum/showthread.php?t=163971

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

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

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


 


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


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