J'ai un NSTableView avec plusieurs colonnes. en cliquant sur chacune des colonnes trie par la colonne comme dans iTunes. Cependant, lorsque la vue de table est chargée, les lignes ne sont pas triées et aucune colonne de table n'est mise en surbrillance ou n'affiche l'image de l'indicateur haut/bas. Je me demande s'il existe un moyen simple de définir par programmation la colonne dans laquelle la table est triée et de définir l'image de l'indicateur au démarrage. La seule solution que je peux penser est d'utiliser [NSTableView setIndicatorImage: inTableColumn:] et [NSTableView setHighlightedColumn:], mais cela fait en sorte que le fait de cliquer sur l'en-tête ne met pas en évidence la colonne. Je préférerais ne pas avoir à utiliser tableView: mouseDownInHeaderOfTableColumn: et réécrire le clic entier sur l'en-tête pour trier les choses.NSTableView définir la colonne de tri?
4
A
Répondre
8
Vous pourriez essayer de régler votre discripteur de tri.
- (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
Wow! ça a marché! Merci. – overcyn
Génial, content que ça a marché !! – Kaili
@Kaili où cela irait-il? est-ce que je placerais ceci dans une sous-classe de NSTableView –