2010-11-30 14 views
8

Tengo un NSTableView cada vez que hago clic en una columna de encabezado específica, los datos de la tabla se invierten o se ordenan al revés. He marcado NSTableView y NSTableColumn, pero no he encontrado ningún método que deshabilite esto. Estaría obligado si alguien puede ayudar a deshabilitar esta ordenación al hacer clic en el encabezado de una columna en particular.¿Cómo deshabilitar la ordenación en NSTableVIew?

+1

Maldita sea, por favor no incluya el título de su pregunta con "[Objetivo C]". No solo te falta un guión, sino que también te falta el punto. Para eso son las etiquetas. –

+0

@ Jonathan: Me hubiera gustado, ¿se te ocurrió alguna respuesta? – Omayr

+1

¿Utilizas uniones Cocoa? ¿Cuál es tu configuración? – Yuji

Respuesta

36

La ordenación del NSTableView se hace por su sortDescriptors, vea here.

Un NSTableColumn utiliza su sortDescriptorPrototype (ver here) para generar el descriptor de clase de la NSTableView, dependiendo del número de veces que se hizo clic en el encabezado de la columna, etc.

Si utiliza dataSource para gestionar los datos, entonces el el descriptor de clasificación se comunica a través del método delegado tableView:sortDescriptorsDidChange:, ver here. Solo tiene que ignorar el mensaje de cambio para detener la clasificación.

Si utiliza enlaces Cocoa para gestionar los datos, el descriptor de ordenación se genera mediante la columna de la tabla y se establece en NSArrayController. Para detenerlo, simplemente abra el inspector del enlace de la columna de la tabla, seleccione value y desmarque "Crea el descriptor de clasificación".

+0

Walaah! eso fue increíble, estaba usando enlaces y el problema está resuelto ahora. Muchas gracias amigo – Omayr

+0

gracias! ¿cómo puede 'Para detenerlo, simplemente abra el inspector de la vinculación de la columna de la tabla, seleccione el valor y desmarque" Crea el descriptor de clasificación ". ¿Se realizará de forma programática? – sharkyenergy

+0

Puede crear una propiedad que siempre devuelva la misma matriz de descriptores de clasificación y enlazar el 'NSTableView' a esta propiedad. – Flovdis

Cuestiones relacionadas