2 votes

Ajouter une case à cocher par programme à NSTableView

J'utilise le code suivant pour ajouter des cellules à un NSTableView. Mais il s'agit d'ajouter des cellules de type textbox, alors qu'il faudrait ajouter des cellules de type checkbox. Est-ce que quelqu'un pourrait me dire comment je peux faire cela ?

merci !

//add cells
for (NSManagedObject *a in sortedArray)
{    
    NSTableColumn *newcolumn = [[NSTableColumn alloc] initWithIdentifier:[NSString stringWithFormat:@"%@",[a valueForKey:@"Name"]]];
    [[newcolumn headerCell] setStringValue:[NSString stringWithFormat:@"%@",[a valueForKey:@"Name"]]];
    [newcolumn setWidth:50];

[table addTableColumn:newcolumn];
}

4voto

Fruity Geek Points 4651

La case à cocher est implémentée comme un bouton. Il suffit de définir la propriété dataCell de NSTableColumn pour qu'elle indique la cellule de données par défaut.

//add cells
for (NSManagedObject *a in sortedArray)
{    
    NSTableColumn *newcolumn = [[NSTableColumn alloc] initWithIdentifier:[NSString stringWithFormat:@"%@",[a valueForKey:@"Name"]]];
    [[newcolumn headerCell] setStringValue:[NSString stringWithFormat:@"%@",[a valueForKey:@"Name"]]];
    [newcolumn setWidth:50];

    NSButtonCell * checkBox = [[NSButtonCell alloc] init];
    [checkBox setButtonType:NSSwitchButton];
    [newColumn setDataCell:checkBox];
    [table addTableColumn:newcolumn];
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X