Bindings et selection multiple
uocram
Membre
Un post que je n'ai pas retrouvé, cherchait comment binder deux NSArrayControllers pour qu'une sélection multiple du NSArrayController "maà®tre" affiche l'ensemble des sous-sélections du NSArrayController "esclave".
Voici comment faire :
Dans CoreData (CoreData n'est pas obligatoire mais il assure l'enregistrement sans coder => plus rapide pour les tests) :
soit deux entités "Service" (attr : nom, rel : employes) et "Employe" (attr : nom, prenom, rel : service)
soit deux NSArrayController : "Services set" et "Employes set"
"Services set" est bindé au NSManagedObjectContext du App_Delegate
Tout se passe là :
"Employes set" est bindé au NSManagedObjectContext du App_Delegate
"Employes set" Content Set est bindé à "Services set" selection.employes (la relation)
et
"Employes set" Content Array est bindé à "Services set" selection.@unionOfSet.employes
@unionOfSet convertit les Content Set en array utilisable pour le Content Array
soit deux NSTableView dont les NSTableColumn sont bindées aux attributs respectifs
Il faut autoriser la selection multiple dans la NSTableView des Services
Et voilà .
Voir par là pour plus d'infos (notamment si on utilise plutôt des arrays que des sets) :
http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaBindings/Concepts/CntrlContent.html#
Voici comment faire :
Dans CoreData (CoreData n'est pas obligatoire mais il assure l'enregistrement sans coder => plus rapide pour les tests) :
soit deux entités "Service" (attr : nom, rel : employes) et "Employe" (attr : nom, prenom, rel : service)
soit deux NSArrayController : "Services set" et "Employes set"
"Services set" est bindé au NSManagedObjectContext du App_Delegate
Tout se passe là :
"Employes set" est bindé au NSManagedObjectContext du App_Delegate
"Employes set" Content Set est bindé à "Services set" selection.employes (la relation)
et
"Employes set" Content Array est bindé à "Services set" selection.@unionOfSet.employes
@unionOfSet convertit les Content Set en array utilisable pour le Content Array
soit deux NSTableView dont les NSTableColumn sont bindées aux attributs respectifs
Il faut autoriser la selection multiple dans la NSTableView des Services
Et voilà .
Voir par là pour plus d'infos (notamment si on utilise plutôt des arrays que des sets) :
http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaBindings/Concepts/CntrlContent.html#
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses