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);
            */
        }
    }
}
¿Fue útil?

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 ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top