Casilla de verificación en la columna de la tabla no se registrará clic
-
22-09-2019 - |
Pregunta
Tengo una vista de tabla a la que agrego columnas dinámicamente. Hay que hacerlo de esta manera porque no puedo predecir cuántos o qué columnas que necesitaré.
Algunas columnas son casillas de verificación pero no pueden hacer clic en ellos cuando corro mi solicitud. La columna y la casilla de verificación se establecen para ser editable pero si hago clic en la casilla de verificación no conseguirá establecer el cheque. Me estoy perdiendo algo?
Actualizar
¿Cómo estoy (tratando) establecer el estado de la casilla de verificación:
- (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);
*/
}
}
}
Solución
Son sus columnas enlazadas a un controlador o ¿Está utilizando el protocolo NSTableDataSource? Sospecho que este último no obstante, deberá especificar.
El ir en mi suposición: un clic en una casilla de verificación se maneja de la misma manera como cualquier otra cosa en el método -tableView:setObjectValue:forTableColumn:row:
. Su objeto será el estado del botón ...