2012-03-27 2 views
0

У меня есть один вид таблицы, который должен быть отфильтрован по значениям поля поиска и по раскрывающемуся списку элементов одновременно. В настоящее время я привязал поле поиска к контроллеру массива, и он работает так, как должен. Но я понятия не имею, как добавить ограничения из другого элемента управления - выпадающего списка, чтобы он не сбросил массив, отфильтрованный поиском, а отфильтровал его текущие результаты.Возможно ли связать несколько элементов управления для фильтрации одного NSArrayController?

+0

Как срабатывает фильтрация? Это срабатывает, когда вы добавляете текст в поле поиска через привязки или в поле поиска есть определенный для него метод действий? – rdelmar

+0

Кроме того, пользователь сможет больше, чем один раунд поля поиска, затем опустить. Если это так, вы хотите начать с нефильтрованного списка, если пользователь либо выполняет другой поиск, либо выбирает другое ограничение? – rdelmar

+0

Теперь это делается через привязки. Ограничения поиска и выпадания применяются к нефильтрованному списку, поэтому я хочу получить пересечение множеств, выбранных из всего массива. –

ответ

1

Я все еще не знаю, если это возможно.

Так что я выбрал другой способ решить мою проблему.

  1. Создать выход к NSArrayController
  2. Подписаться на уведомления от контроля. (NSControlTextDidChangeNotification и NSComboBoxSelectionDidChangeNotification)
  3. Используйте setFilterPredicate для установки нового программно созданного предиката для моего NSArraycontroller.

Работает как ожидалось, и почти никаких привязок не используется.

Смежные вопросы