Вопрос

У меня есть NSTableView, когда я нажимаю на определенный столбец заголовка, данные в таблице меняются местами или сортируются с ног на голову.Я проверил NSTableView а также NSTableColumn но не смог найти ни одного метода, который отключал бы это.Я был бы признателен, если кто-нибудь сможет помочь отключить эту сортировку при нажатии на заголовок определенного столбца.

Это было полезно?

Решение

Сортировка NSTableView делается с помощью его sortDescriptors, видеть здесь.

Ан NSTableColumn использует свои sortDescriptorPrototype (см . здесь) для генерации дескриптора сортировки NSTableView, в зависимости от того, сколько раз вы щелкнули по заголовку столбца и т.д.

Если вы используете dataSource чтобы управлять данными, дескриптор сортировки передается с помощью метода делегирования tableView:sortDescriptorsDidChange:, видеть здесь.Вам просто нужно проигнорировать сообщение об изменении, чтобы остановить сортировку.

Если вы используете привязки Cocoa для управления данными, дескриптор сортировки генерируется столбцом таблицы и устанавливается в NSArrayController.Чтобы остановить это, просто откройте инспектор привязки столбца таблицы, выберите value, и снимите флажок "Создает дескриптор сортировки".

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top