Belirli bir üstbilgi sütununu tıklattığımda, tablodaki verilerin ters çevrilmesini veya tersini almasını sağladığımda bir NSTableView var. NSTableView
ve NSTableColumn
'u kontrol ettim, ancak bunu devre dışı bırakan herhangi bir yöntem bulamadı. Belirli bir sütunun başlığına tıklayarak bu sıralama işleminin devre dışı bırakılmasına yardımcı olabilecek bir kişi varsa mecbur kalırdım.NSTableVIew'da sıralama nasıl devre dışı bırakılır?
cevap
NSTableView
'un seçilmesi, sortDescriptors
tarafından yapılır, bkz. here.
Bir NSTableColumn
kullanır onun sortDescriptorPrototype
(here bakınız) verileri yönetmek için dataSource
kullanmak istersek, vb sütun başlığını kaç kez tıkladığı bağlı
NSTableView
tür tanımlayıcısı oluşturmak için sıralama tanımlayıcısı tableView:sortDescriptorsDidChange:
delegesi yöntemi aracılığıyla iletilir, bkz. here. Sıralamayı durdurmak için değişiklik mesajını görmezden gelmeniz yeterlidir.
Verileri yönetmek için Cocoa bağlamaları kullanırsanız, sıralama tanıtıcısı tablo sütunu tarafından oluşturulur ve NSArrayController
olarak ayarlanır. Bunu durdurmak için, tablo sütununun bağlayıcısını denetleyiciyi açmanız yeterlidir, value
'u seçin ve "Sıralama Tanımlayıcısı Oluştur" un işaretini kaldırın.
Walaah! Bu harika, bağlayıcıları kullanıyordum ve sorun şimdi çözüldü. Teşekkürler dostum – Omayr
teşekkürler! Bunu nasıl durdurabiliriz, sadece tablo sütununun bağlayıcısının denetçisini açın, değeri seçin ve "Taslak Tanımlayıcıyı Yarat." seçeneğinin işaretini kaldırın. – sharkyenergy
Her zaman aynı sıralama tanımlayıcı dizisini döndüren ve 'NSTableView' öğesini bu özelliğe bağlayan bir özellik oluşturabilirsiniz. – Flovdis
Lanet olsun, lütfen soru başlığınızı "[Objective C]" ile işaretlemeyin. Sadece bir kısa çizgi eksik değil, aynı zamanda noktayı da kaçırıyorsunuz. Etiketler bunun için var. –
@ Jonathan: Takdir edecektim, bazı cevaplar buldunuz mu? – Omayr
Kakao Bindings kullanıyor musunuz? Ayarlarınız neler? – Yuji