Wie wird die Sortierung in NSTableView deaktiviert?

8

Ich habe eine NSTableView, wenn ich auf eine bestimmte Header-Spalte klicke, werden die Daten in der Tabelle umgedreht oder auf den Kopf gestellt. Ich habe NSTableView sowie NSTableColumn überprüft, konnte aber keine Methode finden, die dies deaktiviert. Ich wäre verpflichtet, wenn jemand helfen kann, diese Sortierung beim Klicken auf den Header einer bestimmten Spalte zu deaktivieren.

    
Omayr 30.11.2010, 07:08
quelle

1 Antwort

36

Die Sortierung der NSTableView erfolgt anhand ihres sortDescriptors , siehe hier .

Ein NSTableColumn verwendet sein sortDescriptorPrototype (siehe hier ), um den Sortierdeskriptor von NSTableView zu generieren, abhängig davon, wie oft Sie auf die Spaltenüberschrift etc. geklickt haben.

Wenn Sie dataSource zum Verwalten der Daten verwenden, wird der Sortierungsdeskriptor über die Delegate-Methode tableView:sortDescriptorsDidChange: kommuniziert, siehe hier . Sie müssen nur die Änderungsnachricht ignorieren, um die Sortierung zu stoppen.

Wenn Sie Cocoa-Bindungen zum Verwalten der Daten verwenden, wird der Sortierungsdeskriptor von der Tabellenspalte generiert und auf NSArrayController gesetzt. Um es zu stoppen, öffnen Sie einfach den Inspektor der Bindung der Tabellenspalte, wählen Sie value , und deaktivieren Sie "Create Sort Descriptor."

    
Yuji 30.11.2010, 08:13
quelle