2 tableview au meme endroit

AlfAlfAlfAlf Membre
21:11 modifié dans API AppKit #1
Bonjour,

j'ai 2 tableview qui ne contiennent ni le meme nombre de colonnes ni les memes informations. je voudrais pouvoir afficher soit l'une soit l'autre au meme endroit dans ma fenetre principale, en focntion de la valeur d'un bouton de type radio. Est-ce qu'il existe un moyen simple de faire ça ?

Merci

Réponses

  • BruBru Membre
    21:11 modifié #2
    Tu créés des 2 tablesviews, tu les superposes dans IB. Chacune doit avoir son propre outlet.

    Enfin, tu contrôles la propriété hidden de chaque tableview pour afficher soit l'une, soit l'autre (en utilisant la méthode setHidden: à  YES pour masquer, et à  NO pour afficher).

    .
  • AlfAlfAlfAlf Membre
    21:11 modifié #3
    est-ce qu'il n'y aurait pas quelque chose de plus "propre" dans le style pouvoir gérer deux NSView et choisir laquelle doit s'afficher ?

    sinon je ferais comme tu dis >Bru
  • BruBru Membre
    21:11 modifié #4
    dans 1104341163:

    est-ce qu'il n'y aurait pas quelque chose de plus "propre" dans le style pouvoir gérer deux NSView et choisir laquelle doit s'afficher ?

    sinon je ferais comme tu dis >Bru


    Les NSTableViews sont des NSViews, mon coco. Donc 2 gérer 2 NSViews pour l'affichage des 2 NSTableViews n'apporte strictement rien de plus si ce n'est des complications supplémentaires (comme des gérer 2 outlets de plus...)

    Une méthode "propre" serait aussi de créer un NSTbaview de 2 onglets. Cette tabView serait "tabless" (les onglets ne s'affichent pas) et sans bordure. Dans ce cas, chaque onglet aurait sa tableView, et par programmation, il suffirait de choisir l'onglet à  afficher.

    .
  • Eddy58Eddy58 Membre
    21:11 modifié #5
    Il est aussi possible de créer un offscreen panel dans IB avec les 2 tableviews dedans. Ensuite il faut gérer le switch entre les 2 avec un setContentView:... 8)
  • muqaddarmuqaddar Administrateur
    21:11 modifié #6
    Pour résumer, y'a 3 méthodes :
    - setHidden sur les tables
    - setContentView pour afficher telle vue qui contient telle table
    - tabView avec 2 tabs sans les intitulés

    Qui dit mieux ? ;)
  • 21:11 modifié #7
    N'avoir qu'une seule table et jouer avec le tableau source du datasource ;)
  • BaardeBaarde Membre
    21:11 modifié #8
    Sous-classer NSTableView pour avoir une TableView avec plusieurs tableaux de colonnes et plusieurs datasource qui peut switcher de l'une à  l'autre... :boss):
    :o
  • Eddy58Eddy58 Membre
    décembre 2004 modifié #9
    @Renaud et NLBDC (qui se mettent à  troller tout d'un coup ?? ;)) on demande quelque chose de pratique, pas une usine à  gaz ! :P ;) :)
  • décembre 2004 modifié #10
    OK jouer de la cornemuse pour stimuler Eddy pour qu'il fasse tout le boulot, et qu'il propose le résultat dans un framework offert à  objective-cocoa.
  • BruBru Membre
    21:11 modifié #11
    dans 1104346630:

    Il est aussi possible de créer un offscreen panel dans IB avec les 2 tableviews dedans. Ensuite il faut gérer le switch entre les 2 avec un setContentView:... 8)


    Franchement, c'est pas plus simple finalement de créer 2 fenêtres dans IB ? Non ?

    Après, y'a plus qu'à  jouer avec les orderFront/orderOut...

    .
  • BruBru Membre
    décembre 2004 modifié #12
    dans 1104363006:

    N'avoir qu'une seule table et jouer avec le tableau source du datasource ;)


    Ouiii, c'est celà ...

    PS :
    dans 1104337161:

    j'ai 2 tableview qui ne contiennent ni le meme nombre de colonnes ni les memes informations.


    .
  • BruBru Membre
    21:11 modifié #13
    dans 1104365781:

    Sous-classer NSTableView pour avoir une TableView avec plusieurs tableaux de colonnes et plusieurs datasource qui peut switcher de l'une à  l'autre... :boss):
    :o


    Et la marmotte, elle fait quoi ? Elle met le chocolat dans le papier...

    .
  • Eddy58Eddy58 Membre
    décembre 2004 modifié #14
    dans 1104449519:

    dans 1104346630:

    Il est aussi possible de créer un offscreen panel dans IB avec les 2 tableviews dedans. Ensuite il faut gérer le switch entre les 2 avec un setContentView:... 8)

    Franchement, c'est pas plus simple finalement de créer 2 fenêtres dans IB ? Non ?

    Après, y'a plus qu'à  jouer avec les orderFront/orderOut...

    Je ne faisais qu'émettre une possibilité technique (qui fonctionne très bien car je l'ai déjà  mise en oeuvre)... mais avec deux tableviews, la solution la plus élégante Bru est celle que tu as citée plus haut, superposer les 2 tableviews dans IB et jouer avec setHidden ensuite. C'est plus simple niveau code et bien adapté à  ce genre de cas... :)
Connectez-vous ou Inscrivez-vous pour répondre.