Hi all,

I have an NSPopUpButton which holds the names of keys I want to display in an 
NSTableView. A picture is worth a thousand words: 
http://skitch.com/francoisb/dc63m/nstableview-redisplay

I have an action on my controller which rebinds the NSTableView's dataCell for 
the single column to a new value. Calling -[NSTableView reloadData] correctly 
refreshes the headerCell's title, but not the values. What should I be calling 
to ensure everything is refreshed?

I've searched Google with this email's subject, and while I found promising 
answers, I don't see what my specific problem is. I also read the 
"Troubleshooting Cocoa Bindings" from Apple's docs, but even with 
NSBindingDebugLogLevel set to 1, I don't see more messages.

Thanks!
François

Code below also at: http://gist.github.com/479199

NSTableView *documenstTable;

-(IBAction)changeDisplayedKey:(id)sender {
  NSString *newValue = [[sender selectedItem] title];
  NSTableColumn *column = [documentsTable tableColumnWithIdentifier:@"OID"];

  /* Replace title: works just fine */
  [[column headerCell] setStringValue:newValue];

  /* Bind to the new keyPath */
  /* data is an NSDictionary */
  NSString *newKeyPath = [@"arrangedObjects.data." 
stringByAppendingString:newValue];
  NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber 
numberWithBool:YES], NSRaisesForNotApplicableKeysBindingOption,
                          [NSNumber numberWithBool:YES], 
NSCreatesSortDescriptorBindingOption,
                          nil];
  [[column dataCell] bind:@"value"
                 toObject:documentsArrayController
              withKeyPath:newKeyPath
                  options:options];
  [documentsTable reloadData];
}_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to