NSTableView et selectedrows
chaps31
Membre
Problème insoluble (pour moi :)beta: ) du jour :
J'ai une tableview dans mon interface, je veux que lorsque je cllique sur une ligne je puisse récupérer dans une variable une des colonnes du datasource (qui ne s'affiche pas à l'écran).
Mon raisonnement : je récupère l'index de la ligne de la TableView et m'en sert pour revenir à la table source (même index de ligne non ?) d'où grace à cet index je retire ma valeur.
Donc :
-(IBAction)selectClient:(id)sender
{
if(tableclients)
{
int idcl1=[tableView selectedRow];
if(idcl1==-1) return;
id client = [tableclients objectAtIndex:[tableView selectedRow]];
NSLog(@ligne : %@ et client : %@",idcl1,client);
}
}
Où tableView est déclarée outlet variable d'instance dans le .h et relié dans IB à la tableview, l'IBAction pour l'instant relié à un bouton pour ne pas me soucier d'une éventuelle impossibilité de lier un IBAction au clique sur ma tableview (pb. à voir dans un 2eme temps).
tableclients est le tableau source, il est bien rempli pas de pb, pour le test avec 2 lignes.
- Lorsque je lance l'IBAction via le bouton sans sélectionner de ligne : rien ne se passe normal (idcl1 vaut -1).
- Lorsque je sélectionne la première ligne, "client" prend bien cette ligne qui s'affiche mais avec idcl1 qui vaut "null"... Ca ne devrait pas être 0 ?
- - Lorsque je sélectionne la deuxième ligne, bug, plantage de l'appli...
SOS, Merci
J'ai une tableview dans mon interface, je veux que lorsque je cllique sur une ligne je puisse récupérer dans une variable une des colonnes du datasource (qui ne s'affiche pas à l'écran).
Mon raisonnement : je récupère l'index de la ligne de la TableView et m'en sert pour revenir à la table source (même index de ligne non ?) d'où grace à cet index je retire ma valeur.
Donc :
-(IBAction)selectClient:(id)sender
{
if(tableclients)
{
int idcl1=[tableView selectedRow];
if(idcl1==-1) return;
id client = [tableclients objectAtIndex:[tableView selectedRow]];
NSLog(@ligne : %@ et client : %@",idcl1,client);
}
}
Où tableView est déclarée outlet variable d'instance dans le .h et relié dans IB à la tableview, l'IBAction pour l'instant relié à un bouton pour ne pas me soucier d'une éventuelle impossibilité de lier un IBAction au clique sur ma tableview (pb. à voir dans un 2eme temps).
tableclients est le tableau source, il est bien rempli pas de pb, pour le test avec 2 lignes.
- Lorsque je lance l'IBAction via le bouton sans sélectionner de ligne : rien ne se passe normal (idcl1 vaut -1).
- Lorsque je sélectionne la première ligne, "client" prend bien cette ligne qui s'affiche mais avec idcl1 qui vaut "null"... Ca ne devrait pas être 0 ?
- - Lorsque je sélectionne la deuxième ligne, bug, plantage de l'appli...
SOS, Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Le coté positif c'est que plus j'avance... heu... plus j'avance...