• 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: NSTableView - Programmatically creating Table Columns and populating
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSTableView - Programmatically creating Table Columns and populating


  • Subject: Re: NSTableView - Programmatically creating Table Columns and populating
  • From: "I. Savant" <email@hidden>
  • Date: Mon, 31 Jul 2006 08:24:06 -0400

Zef:

I created a test project with your code since I couldn't see anything "wrong" with it (though your approach to whatever problem you're solving looks ... not quite right either. :-)).

I added an action to respond to a button click to log the selected column (basically, I just went ahead and called your -insertColumn method, since all it does is logs the selected column). It worked just fine.

I'm thinking you probably don't have your myTableView outlet connected to the table view in your nib. When I disconnected the myTableView outlet from the NSTableView in the nib, I always got "0", no matter which column was selected. *Always verify your outlets!*

  Hope this helps.

--
I.S.


On Jul 29, 2006, at 1:03 PM, Zef RosnBrick wrote:


On Jul 29, 2006, at 8:19 AM, I. Savant wrote:


Post. Your. Code.

Telling us your code is broken but not offering the code itself does absolutely no good. We can't help you if we don't know what's wrong.

--
I.S.


On Jul 29, 2006, at 1:34 AM, Zef RosnBrick wrote:

I finally got my table view working, but now if wont respond to [myTableView selectedColumn] or selectedRow - it always returns 0. It also doesn't return anything for number of table columns.



- (void)awakeFromNib {
tableDict = [[NSMutableDictionary alloc] init];
int i;
for (i = 1; i <= 64; i ++) {
NSTableColumn *newColumn;
newColumn = [[NSTableColumn alloc] initWithIdentifier:[NSString stringWithFormat:@"%i", i]];
[[newColumn headerCell] setStringValue:@"Field"];
[[newColumn headerCell] setAlignment:NSCenterTextAlignment];
[newColumn setEditable:YES];
[newColumn setWidth:100.0];
[myTableView addTableColumn:newColumn];
[newColumn release];

NSMutableArray *colArray = [[NSMutableArray alloc] init];
int j;
for (j = 1; j <= 1028; j ++) {
[colArray addObject:@""];
}
[tableDict setObject:colArray forKey:[NSString stringWithFormat:@"%i", i]];
[colArray release];
}
}
//I use awakeFromNib to add all the table columns I want, and to create the NSDictionary I use as a data source


- (int)numberOfRowsInTableView:(NSTableView *)aTableView {
	return 1028;
}

- (void)tableView:(NSTableView *)aTableView setObjectValue:(id) anObject forTableColumn:(NSTableColumn *)aTableColumn row:(int) rowIndex {
[[tableDict objectForKey:[aTableColumn identifier]] replaceObjectAtIndex:rowIndex withObject:anObject];
[theWindow setDocumentEdited:YES];
}


- (id)tableView:(NSTableView *)view objectValueForTableColumn: (NSTableColumn *)col row:(int)row
{
//I have a manually added column to display row numbers - is there a better way?
if ([[col identifier] isEqualTo: @"rownum"]) {
return [NSString stringWithFormat:@"%i", row + 1];
}
else {
return [[tableDict objectForKey:[col identifier]] objectAtIndex:row];
}
return nil;
}


- (void)insertColumn {
	NSLog(@"%i\n", [myTableView selectedColumn]);
}

Here is where my code breaks. The method insertColumn is called by a class I'm using to control a toolbar for the window when one of the toolbar items is clicked, however, it always logs 0, no matter which column is selected.

Zef

_______________________________________________ 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
References: 
 >Re: NSTableView - Programmatically creating Table Columns and populating (From: Matt Neuburg <email@hidden>)
 >Re: NSTableView - Programmatically creating Table Columns and populating (From: Zef RosnBrick <email@hidden>)
 >Re: NSTableView - Programmatically creating Table Columns and populating (From: "I. Savant" <email@hidden>)

  • Prev by Date: NSMenuItem protocol and incompatible types.
  • Next by Date: Frameworks + sharedFrameworksPath
  • Previous by thread: Re: NSTableView - Programmatically creating Table Columns and populating
  • Next by thread: Frameworks + sharedFrameworksPath
  • Index(es):
    • Date
    • Thread