2010-11-30 11 views
8

Ich habe eine NSTableView, wenn ich auf eine bestimmte Header-Spalte klicke, werden die Daten in der Tabelle umgekehrt oder auf den Kopf gestellt. Ich habe NSTableView sowie ü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.Wie kann ich die Sortierung in NSTableVIEW deaktivieren?

+1

Verdammt, bitte setzen Sie Ihren Fragetitel nicht mit "[Objective C]" voran. Du verpasst nicht nur einen Bindestrich, sondern auch den Punkt. Dafür sind Tags da. –

+0

@ Jonathan: Ich hätte es sehr geschätzt, wenn Sie eine Antwort gefunden hätten – Omayr

+1

Verwenden Sie Cocoa Bindings? Was sind deine Einstellungen? – Yuji

Antwort

36

Die Sortierung der NSTableView erfolgt durch , siehe here.

Ein NSTableColumn nutzt seine sortDescriptorPrototype (siehe here), um die Art Beschreibung der NSTableView zu erzeugen, je nachdem, wie oft Sie die Spaltenüberschrift geklickt usw.

Wenn Sie dataSource verwenden, um die Daten zu verwalten, dann ist die Sortierdeskriptor wird über die Delegate-Methode tableView:sortDescriptorsDidChange: kommuniziert, siehe here. 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 "Erstellt Sort Descriptor."

+0

Walaah! das war großartig, ich habe Bindungen benutzt und das Problem ist jetzt gelöst. Vielen Dank Kumpel – Omayr

+0

danke! Wie kann man 'Um es zu stoppen, öffnen Sie einfach den Inspektor der Bindung der Tabellenspalte, wählen Sie den Wert, und deaktivieren Sie" Erstellt Sort Descriptor. "' Programmgesteuert durchgeführt werden ?? – sharkyenergy

+0

Sie können eine Eigenschaft erstellen, die immer das gleiche Array von Sortierdeskriptoren zurückgibt und die Eigenschaft 'NSTableView' an diese Eigenschaft bindet. – Flovdis

Verwandte Themen