2

我有一个动态添加列的表格视图。必须这样做,因为我无法预测我需要多少列或哪些列。

有些列是复选框,但我在运行应用程序时无法单击它们。列和复选框设置为可编辑,但如果我单击复选框,则不会设置检查。我错过了什么吗?

更新

我如何(尝试)在复选框上设置状态:

- (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);
            */
        }
    }
}
4

1 回答 1

2

您的列是绑定到控制器还是使用 NSTableDataSource 协议?我怀疑后者,但您需要指定。

继续我的假设:单击复选框的处理方式与方法中的其他任何内容相同-tableView:setObjectValue:forTableColumn:row:。您的对象将是按钮的状态...

于 2010-01-27T02:10:55.807 回答