如何在NSTableVIew中禁用排序?

时间:2010-11-30 07:08:26

标签: objective-c sorting nstableview nstablecolumn

我有一个NSTableView,当我点击特定的标题列时,表格中的数据会被颠倒或排序。我已经检查了NSTableView以及NSTableColumn,但找不到任何禁用此功能的方法。如果有人可以帮助您在点击特定列的标题时禁用此排序,我将不胜感激。

1 个答案:

答案 0 :(得分:36)

NSTableView的排序由其sortDescriptors完成,请参阅here

NSTableColumn使用其sortDescriptorPrototype(请参阅here)生成NSTableView的排序描述符,具体取决于您点击列标题的次数等。

如果使用dataSource来管理数据,则通过委托方法tableView:sortDescriptorsDidChange:传达排序描述符,请参阅here。您只需忽略更改消息即可停止排序。

如果使用Cocoa绑定来管理数据,则排序描述符由表列生成并设置为NSArrayController。要停止它,只需打开表列绑定的检查器,选择value,然后取消选中“创建排序描述符”。