Копировать из одного NSTableView в другой (с привязками основных данных) - PullRequest
0 голосов
/ 12 ноября 2009

У меня есть NSTableView, привязанный к основным данным. У меня есть другой NSTableView, в настоящее время не привязанный ни к чему (но он может измениться, если это необходимо).

При нажатии кнопки я хочу, чтобы текущая выбранная строка в первой таблице была скопирована (но не удалена) во вторую таблицу.

, например

До:

Первая таблица

Column1 | Column2 | Column3
Person  | Place   | Time

Второй стол

Column1 | Column2 | Column3
        |         | 

После того, как:

 Column1 | Column2 | Column3
 Person  | Place   | Time

Второй стол

 Column1 | Column2 | Column3
 Person  | Place   | Time

Как бы я поступил так?

Спасибо!

1 Ответ

1 голос
/ 12 ноября 2009

Это на самом деле не проблема с NSTableView, это скорее вопрос дизайна программы. Что показывает ваш NSTableView s? Данные. Чтобы взять выбранный объект в одном табличном представлении и отобразить его в другом, необходимо выяснить, какой объект данных выбран, и добавить его в набор данных для другого табличного представления, чтобы он тоже там отображался.

Звучит так, как будто вы используете привязки. Если это так, то вам следует привязать ваше второе табличное представление к контроллеру массива, который отслеживает объекты, которые должны отображаться там. Необходимость привязки этого контроллера массива к набору контента зависит от вашего приложения.

Итак, чтобы получить выбранный предмет, проверьте метод selectedObjects на NSArrayController. Это дает массив выбранных объектов. Затем вам нужно будет добавить выбранные объекты в контроллер массива для второго табличного представления. После того, как вы это сделаете, привязки сработают волшебно и обновят ваш табличный вид автоматически.

...