Re: Selectively using formatter in table view text cell
Re: Selectively using formatter in table view text cell
- Subject: Re: Selectively using formatter in table view text cell
- From: Quincey Morris <email@hidden>
- Date: Tue, 23 Jun 2009 23:00:27 -0700
On Jun 23, 2009, at 22:27, Graham Cox wrote:
I have a table view that displays the contents of a dictionary.
The values can be string data or numeric data. For numeric, I want
to use a formatter to make it nice and pretty, but for string data I
want to display it verbatim. If I attach a formatter to the text
cell it refuses to validate pure string input. Is there a way to set
up the formatter this way, or do I need to either create a special
formatter or apply the formatter selectively for different rows (if
so, how?).
(a) Use the delegate, something like (untested, obviously):
-(void)tableView:(NSTableView *)aTableView willDisplayCell:(id)aCell
forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex {
if (!<this is the correct column>)
return;
id objectValue = [self.delegate tableView: self
objectValueForTableColumn:aTableColumn row:rowIndex;
// or find the data directly from your data model, if not using a
data source
if (objectValue isKindOfClass: [NSNumber class])
aCell.formatter = myFormatter;
else
aCell.formatter = nil;
}
(b) Add a string version of the property to your data model, using a
suitable formatter internally, and bind the column to that.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden