سؤال

لديّ nstableView عندما انقر فوق عمود رأس معين ، يتم عكس البيانات الموجودة في الجدول أو فرز رأسًا على عقب. لقد تفحصت NSTableView إلى جانب NSTableColumn ولكن لم يستطع العثور على أي طريقة تعطل هذا. سأكون ملزماً إذا كان بإمكان أي شخص المساعدة في تعطيل هذا الفرز عند النقر على رأس عمود معين.

هل كانت مفيدة؟

المحلول

فرز NSTableView يتم من قبلها sortDescriptors, ، نرى هنا.

و NSTableColumn يستخدمها sortDescriptorPrototype (نرى هنا) لإنشاء واصف فرز NSTableView, ، اعتمادًا على عدد المرات التي قمت فيها بالنقر فوق رأس العمود ، إلخ.

كما ترى dataSource لإدارة البيانات ، يتم توصيل واصف الفرز عبر طريقة المندوب tableView:sortDescriptorsDidChange:, ، نرى هنا. تحتاج فقط إلى تجاهل رسالة التغيير للتوقف عن الفرز.

إذا كنت تستخدم روابط الكاكاو لإدارة البيانات ، يتم إنشاء واصف الفرز بواسطة عمود الجدول وتعيينه على NSArrayController. لإيقافه ، فقط افتح مفتش ربط عمود الجدول ، حدد value, و detchect "إنشاء واصف فرز."

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top