Edition d'une valeur dans une tableView différente de celle affichée

maestricmaestric Membre
08:32 modifié dans API AppKit #1
J'ai une NSTableView, et je voudrais qu'il y ait dans une colonne quelque chose du style :

lundi 5
mardi 6
jeudi 8

mais je voudrais que lors de l'édition, quand on clique sur la cellule, que celle-ci affiche directement 5 pour la première ligne, par exemple. Ca doit être possible, non ?

Si possible, j'aimerais utiliser les bindings pour ça. Ce qu'il faudrait ce serait en quelque sorte avoir à  la fois le binding "value" et le "displayPatternValue", un pour l'édition, l'autre pour l'affichage.

Réponses

  • 08:32 modifié #2
    La solution la plus simple à  mes yeux serait de te faire un NSFormatter perso, que tu "appliques" à  la dataCell de la colonne en question. Faire en sorte que le "5" soit affiché à  l'édition uniquement me parait difficile, mais ce que tu peux faire avec le formatter est de faire en sorte que "5" et "lundi 5" soient des entrées valides.
  • maestricmaestric Membre
    08:32 modifié #3
    Merci pour la piste du NSFormatter perso, j'étais parti sur les transformers  :o
    Je crois avoir trouvé ce qu'il faut dans la doc d'Apple "Creating a Custom Formatter" :

    If the string for editing must differ from the string for display"for example, the display version of a currency field shows a dollar sign but the editing version doesn't"implement editingStringForObjectValue: in addition to stringForObjectValue:.
Connectez-vous ou Inscrivez-vous pour répondre.