NSTableView установить столбец сортировки? - PullRequest
4 голосов
/ 15 апреля 2010

У меня есть NSTableView с несколькими столбцами. щелчок по каждому из столбцов сортирует по столбцу, как в iTunes. Однако при первой загрузке таблицы строки не сортируются, и ни один столбец таблицы не выделяется или не отображается изображение индикатора вверх / вниз. Мне интересно, есть ли простой способ, которым я могу программно установить столбец, по которому сортируется таблица, и установить изображение индикатора при запуске.

Единственное решение, о котором я могу подумать, - это использовать [NSTableView setIndicatorImage: inTableColumn:] и [NSTableView setHighlightedColumn:], но это делает его таким, чтобы щелчок по заголовку не выделял столбец. Я бы предпочел не использовать tableView: mouseDownInHeaderOfTableColumn: и переписать весь щелчок по заголовку для сортировки.

1 Ответ

8 голосов
/ 15 апреля 2010

Вы можете попытаться установить свой дескриптор сортировки.

- (void)setSortDescriptors:(NSArray *)array


- (void)windowControllerDidLoadNib:(NSWindowController *) windowController
{
   [super windowControllerDidLoadNib:windowController];
   NSSortDescriptor* sortDescriptor = [[[NSSortDescriptor alloc] initWithKey: @"order" ascending: YES] autorelease];
   [oTable setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
}

http://lists.apple.com/archives/cocoa-dev/2006/May/msg01434.html

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