Флажок в столбце таблицы не регистрирует клик - PullRequest
2 голосов
/ 26 января 2010

У меня есть табличное представление, к которому я динамически добавляю столбцы. Это должно быть сделано так, потому что я не могу предсказать, сколько или какие столбцы мне понадобятся.

Некоторые столбцы чекбоксы , но я не могу щелкнуть по ним при запуске приложения Столбец и флажок установлены для редактирования, но если я нажму на флажок, флажок не будет установлен. Я что-то упустил?

Обновление

Как я (пытаюсь) установить состояние на флажок:

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

1 Ответ

2 голосов
/ 27 января 2010

Связаны ли ваши столбцы с контроллером или вы используете протокол NSTableDataSource? Я подозреваю, что последнее, но вам нужно будет указать.

Исходя из моего предположения: нажатие на флажок обрабатывается так же, как и все остальное в методе -tableView:setObjectValue:forTableColumn:row:. У вашего объекта будет состояние кнопки ...

...