2009-10-17 6 views
0

J'ai une table dont une colonne utilise un NSPopUpButtonCell. Essayez comme je pourrais, je n'arrive pas à trouver le moyen de lier correctement tout comme je le veux. Voici ce que j'essaie de faire:Liaison d'une colonne de table contenant NSPopUpButtons

J'ai un NSArrayController en train de trier des objets d'un contexte d'objet géré, appelé 'Field Values'. Ceci doit être utilisé pour remplir le menu contextuel de chaque élément (c'est-à-dire la liste des choix disponibles). Je peux lier ceci en sélectionnant la cellule dans IB et en liant son contenu/objets/valeurs à 'Field Values'.arrangedObjects et' Field Values'.arrangedObjects.name comme approprié (pour obtenir l'objet représenté et le titre visible). Je souhaite ensuite lier la colonne de telle sorte que la valeur sélectionnée dans chaque ligne provienne d'un tableau de ma classe de contrôleurs, à nouveau rendue visible (et seulement éditée par) un autre NSArrayController. Jusqu'ici j'ai réussi à le configurer de sorte que chaque menu contextuel contienne la liste des champs disponibles, et que la valeur par défaut soit sélectionnée dans chacun d'eux. En fait, la sélection d'un élément n'a aucun effet, cependant, il revient juste à sa valeur initiale. J'ai également réussi à trouver d'autres variations à ce sujet, comme le menu rempli avec les valeurs sélectionnées, ou contenant le nom de toutes les valeurs disponibles, et la sélection contenant le -description de la valeur «none» que j'ai ajouté. Je suis sûr qu'il me manque quelque chose d'assez simple, mais je ne suis pas sûr de ce que c'est. Vraisemblablement, il y a une certaine subtilité que j'ai manquée dans la façon de lier ce genre de données (c'est-à-dire les choses Content vs. Content vs Content Value), mais je suis damné si je peux le voir maintenant.

Un grand merci à l'avance: o)

Répondre

2

J'ai un ensemble similaire avec une vue de la table, bien que la source de données ne sont pas données à partir de carottes, mais j'ai vu une chose que vous pourriez revérifier qui pourrait soyez une différence subtile. Dans mon installation pour la colonne de la table, j'ai la colonne de la table elle-même liée par le contenu, contentValues, et selectedObject. Cependant, il semble qu'il soit également possible de faire les liaisons sur le véritable NSPopUpButtonCell à la place. Peut-être que cela fonctionne quand les fixations sont sur la colonne de la table, mais pas quand elles sont sur la cellule elle-même? De toute façon, il y a une chose qui mérite d'être étudiée.

2

Ne jamais lier à la vue déroulante, à la vue de table ou à la cellule. Toutefois, jamais lier aux colonnes de la table.

Regardez le titre de la fenêtre Inspecteur pour être certain de ce que vous liez.

Questions connexes