我已经到我动态添加列的表图。它必须做这种方式,因为我无法预测有多少或哪些列,我将需要。

一些列复选框但是当我运行我的应用程序不能在上面点击。列和复选框被设置为可编辑的,但如果我点击复选框的检查将不会置。我这么想吗?

<强>更新

我怎样,我(想)设置的复选框的状态:

- (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);
            */
        }
    }
}
有帮助吗?

解决方案

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

去上我的假设:在复选框点击的处理方式作为-tableView:setObjectValue:forTableColumn:row:方法什么都一样。您的对象将是该按钮的状态...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top