J'ai une vue de table à laquelle j'ajoute dynamiquement des colonnes. Cela doit être fait de cette façon parce que je ne peux pas prédire le nombre de colonnes ou dont j'ai besoin.La case à cocher de la colonne de la table ne sera pas enregistrée. Cliquez sur
Certaines colonnes sont checkboxes mais je ne peux pas cliquer dessus lorsque j'exécute mon application. La colonne et la case à cocher sont définies pour être modifiables mais si je clique sur la case à cocher, la vérification ne sera pas définie. Est-ce que je manque quelque chose?
Mise à jour
Comment je (essayer) définition de 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);
*/
}
}
}
Ce faisant, mais quand je fais un setState sur NSButtonCell il n'est pas défini, donc j'ai supposé que ce serait la mauvaise façon de le faire. – ruipacheco
Lorsque vous définissez votre état, demandez-vous à la table -reloadData (ou -reloadDataForRowIndexes: columnIndexes: pour être plus précis)? –
Non. Il suffit de définir l'état et c'est tout. Devrais-je demander à la table de rechargerData? Parce que cela rechargerait tout du tableau et je perdrais la case que je viens de cocher. – ruipacheco