Kontrollkästchen in der Tabellespalte registriert das Klick nicht
-
22-09-2019 - |
Frage
Ich habe eine Tabellenansicht, zu der ich Spalten dynamisch hinzufüge. Es muss so gemacht werden, weil ich nicht vorhersagen kann, wie viele oder welche Spalten ich benötige.
Einige Spalten sind Kontrollkästchen Aber ich kann nicht auf sie klicken, wenn ich meine Bewerbung ausführe. Die Spalte und das Kontrollkästchen sind so festgelegt, dass ich jedoch auf das Kontrollkästchen klicke. Die Prüfung wird nicht festgelegt. Vermisse ich etwas?
Aktualisieren
Wie ich (versuche), den Status auf dem Kontrollkästchen festzulegen:
- (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);
*/
}
}
}
Lösung
Sind Ihre Spalten an einen Controller gebunden oder verwenden Sie das Nstabledatasource -Protokoll? Ich vermute das letztere, aber Sie müssen angeben.
Ich gehe davon aus: Ein Klick auf ein Kontrollkästchen wird genauso behandelt wie -tableView:setObjectValue:forTableColumn:row:
Methode. Ihr Objekt wird der Status der Schaltfläche sein ...