Question

J'ai une vue table à laquelle ajouter des colonnes dynamiquement. Il doit être fait de cette façon parce que je ne peux pas prédire combien ou quelles colonnes je aurai besoin.

Certaines colonnes sont cases à cocher, mais je ne peux pas cliquer sur eux quand je lance ma demande. La colonne et case à cocher sont configurés pour être modifiable, mais si je clique sur la case à cocher le chèque ne sera pas obtenir ensemble. Est-ce que je manque quelque chose?

Mise à jour

Comment je suis (essayer) définir l'état sur la case à cocher:

- (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);
            */
        }
    }
}
Était-ce utile?

La solution

Vos colonnes liées à un contrôleur ou utilisez-vous le protocole NSTableDataSource? Je soupçonne que ce dernier mais vous devez spécifier.

Voulez-vous profiter de mon hypothèse: un clic sur une case à cocher est traité de la même manière que toute autre chose dans la méthode -tableView:setObjectValue:forTableColumn:row:. Votre objet sera l'état du bouton ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top