• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Sorting NSTableView
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Sorting NSTableView


  • Subject: Re: Sorting NSTableView
  • From: "Joe Goh" <email@hidden>
  • Date: Wed, 23 Aug 2006 21:19:06 +0800

Just a few minutes after sending this email, I suddenly "got it" and
found out what the problem was, and fixed it in about 90 seconds, a
problem which i've been struggling for 6 hours today.  DOH!

On 8/23/06, Joe Goh <email@hidden> wrote:
On Jun 22, 2006, at 5:18 AM, Alexander Lamb wrote:

> I have a core data application.
>
> I would like to force the sort on a given column when the data is
> loaded in my NSArrayController and displayed in the NSTableView.
> Sorting works fine manually (e.g. when clicking on the column
> header) so I would like to do as if the used had clicked.
>
> I know I can sort programmatically the objects in my controller,
> but I want to show the visual feedback of my column with the little
> sort triangle.

I am now facing the exact same problem as Alexander did, and after
trying the solution suggested to him and many others posted on various
blogs/forums for the past six hours, I still can't get it working.
:-(

Here's the solution given to Alexander,

On Jun 22, 2006, at 11:20 AM, George Orthwein wrote:

> Ah, it's actually setSortDescriptors you want. Set it in
> windowControllerDidLoadNib:
>
>     NSSortDescriptor* sortDescriptor = [[[NSSortDescriptor alloc]
> initWithKey: @"displayOrder" ascending: YES] autorelease];
>     [tableView setSortDescriptors:[NSArray
> arrayWithObject:sortDescriptor]];

I placed the following code in the awakeFromNib method for the
NSTableView subclass (ContactView), as i'm not writing a
document-based app:

@implementation ContactView
- (void) awakeFromNib
{
    NSSortDescriptor* sortDescriptor = [[[NSSortDescriptor alloc]
initWithKey: @"name" ascending: YES] autorelease];

    [self setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
    [self reloadData];  // Is this needed?
}
@end

I have only one column in my NSTableView, and using bindings/Core
Data, the "name" attribute is now successfully being shown in the
view, and it can be sorted when I click on the header, but not when
the application first starts.

Is "name" the correct argument to use as a key for NSSortDescriptor's
initWithKey?  Any other clues as to why the column is still not being
sorted by default when the application starts?

Thanks in advance,
Joe

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Sorting NSTableView
      • From: Julio Cesar Silva dos Santos <email@hidden>
References: 
 >Re: Sorting NSTableView (From: "Joe Goh" <email@hidden>)

  • Prev by Date: Re: Sorting NSTableView
  • Next by Date: Re: Sorting NSTableView
  • Previous by thread: Re: Sorting NSTableView
  • Next by thread: Re: Sorting NSTableView
  • Index(es):
    • Date
    • Thread