2
我有一个表视图,而我动态地添加列。必须这样做,因为我无法预测我需要多少或哪些列。复选框上表列将不被记录点击
一些列checkboxes但是当我运行我的应用程序不能在上面点击。列和复选框设置为可编辑的,但如果点击复选框,则不会设置检查。我错过了什么吗?
更新
如何我(想)设置的复选框的状态:
- (void)tableView:(NSTableView *)theTableView
setObjectValue:(id)theObject
forTableColumn:(NSTableColumn *)theColumn
row:(int)rowIndex
{
if (theTableView == resultsTableView) {
if ([[theColumn identifier] isEqualToString:CHCheckBoxColumnIdentifier]) {
NSInteger state = [[theColumn dataCell] state];
if (state == NSOnState) {
[[theColumn dataCell] setState:NSOffState];
} else {
[[theColumn dataCell] setState:NSOnState];
}
/*
NSLog(@"%@", theObject);
NSLog(@"%@", theColumn);
NSLog(@"%i", rowIndex);
*/
}
}
}
这样做,但我做的NSButtonCell它不会设置的setState,所以我认为这将是错误的方式去这样做。 – ruipacheco 2010-01-27 11:40:33
当你设置你的状态时,你是问表-reloadData(或-reloadDataForRowIndexes:columnIndexes:更精确)? – 2010-01-27 12:12:47
没有。只需设置状态即可。我应该问表重新加载数据?因为这会重新加载阵列中的所有内容,我会丢失刚刚检查过的复选框。 – ruipacheco 2010-01-27 12:17:24