IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[C#] Création dynamique de TabPage


Sujet :

Windows Forms

  1. #1
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut [C#] Création dynamique de TabPage
    Bonjour, bonsoir,

    Je voudrais créer dynamiquement des tabpage en fonction des éléments dans un table access. Jusque là, je ne vois aucunes difficultés. Mais comme je souhaite récupérer dans ma table que le premier caractère de la chaine (afin de faire un affichage par ordre alphabétique et surtout selon la lettre) et que la fonction substring est pas autorisé avec un bdd access, je coince.

    Auriez-vous une idée simple et qui ne consommerait pas beaucoup de ressources et surtout de temps d'execution ??

    Il y a bien la solution qui consiste à tout mettre en dur mais ça ne m'interesse pas et surtout je voudrai l'envisager que si je n'ai vraiment pas le choix .

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut
    Moi, je te conseille cette solution.

    1/ Créer une classe qui hérite de la classe TabPage.
    2/ Rédéfinis la méthode ToString() de manière à ce qu'elle te retourne la chaine de caractères de tri.
    3/ Implémente une méthode de tri qui permet de trier des éléments de type Object par ordre alphabétique (en utilisant la méthode ToString).

    4/ A partir de ta base de données liste dans un collection ou dans un tableau tes TabPage persos.
    5/ Tris tes TabPage persos dans ton tableau.
    6/ Ajoute tes TabPage persos dans le TabControl.

    En espèrant avoir répondu à ta question.

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Oui je vois ce que tu veux dire et tu réponds très bien à ma question. Mais (oui il y a un mais) en faisant une solution comme ceci j'ai l'impression que coté execution ca va prendre un coup au chargement. En fait, ce qu'il faudrait c'est faire la même méthode de manière plus allégé. Donc s'il y avait une solution propre à C# qui pouvait faire comme la gestion de tableau en PHP, ça serait génial.

    En principe voilà ce que je veux obtenir au final :
    • des tabpage crée avec chacun une lettre de l'alphabet (bien entendu triés)
    • A chaque sélection d'un tabpage je créé dynamiquement une liste contenant tous les mots commencant par la lettre du tabpage sélectionné.
    Avant j'avais mis en dur tout mes tabpage et j'ajoutais dynamiquement ma liste, mais tout ces tabpage ne donne l'impression d'aloudir le code

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Mais (oui il y a un mais) en faisant une solution comme ceci j'ai l'impression
    que coté execution ca va prendre un coup au chargement.
    Je ne vois pas ce qui t'embête dans cette solution ???
    De toute façon, il faudra à un moment ou à un autre les charger tes TabPage.
    As tu une idée du nombre de TabPage que tu dois gérer ?


    A chaque sélection d'un tabpage je créé dynamiquement une liste
    contenant tous les mots commencant par la lettre du tabpage sélectionné.
    Pour cela, je te conseille d'utiliser la classe Hashtable.
    Les clés sont tes lettres de l'alphabet et les valeurs sont les listes (ArrayList par exemple)
    des TabPage correspondant à la clé (lettre).

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Citation Envoyé par leSeb
    Je ne vois pas ce qui t'embête dans cette solution ???
    De toute façon, il faudra à un moment ou à un autre les charger tes TabPage.
    As tu une idée du nombre de TabPage que tu dois gérer ?
    Ben il faudra autant de tabpage que de différentes lettres de l'alphabet + les chiffres. donc c'est assez variable.

    Citation Envoyé par leSeb
    Pour cela, je te conseille d'utiliser la classe Hashtable.
    Les clés sont tes lettres de l'alphabet et les valeurs sont les listes (ArrayList par exemple)
    des TabPage correspondant à la clé (lettre).
    Tu entends quoi par là ? Car je gère les listes avec des datasets avec un filtre dans la requete et ce filtre se basera sur la lettre choisis

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut
    Tu entends quoi par là ? Car je gère les listes avec des datasets avec un filtre dans la requete et ce filtre se basera sur la lettre choisis
    Je ne vois pas où est ton problème. A partir du résultat de la requete sur le DataSet, tu crées les différents TabPage ....

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    C'est que moi je vois pas ça comme ça

    Je rempli mon dataset avec un filtre, par exemple pour A je mets dans la requete ma recherche sur A et je réucpère le contenu dans mon dataset.
    Puis tout mes champs sont lié aux données du dataset même chose pour la list box.

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Alors tout compte fait j'ai réfléchis un peu et je vais donc créer mon dataset avec mes différents table après avoir fait une jointure entre eux.

    Je vais créer une listview qui ne sera pas lié directement à mon dataset car si je le fais j'ai tous les champs affichés et je vois pas comment mettre que celui que je veux. Je ne veux pas de listbox car je veux les effets de style du listview (les lignes de séparation et etc...). Tiens si vous savez comment le configurer pour obtenir qu'un seul élément je vous en serai reconnaissant

    Cette listview je vais la remplir moi même en fonction de la lettre choisi et en mode connecté (ie DataReader).

    L'histoire d'utiliser un hashtable pour garder en mémoire toutes les données me plait pas beaucoup. Je veux une application super légère qui ne consomme pas beaucoup de mémoire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Création dynamique TADOConnection
    Par chaours dans le forum Bases de données
    Réponses: 6
    Dernier message: 19/04/2004, 10h54
  2. [D7] Création dynamique de Form
    Par jer64 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 03/08/2003, 12h20
  3. [Rave Report] problème de création dynamique
    Par Nivux dans le forum Rave
    Réponses: 2
    Dernier message: 24/05/2003, 00h07
  4. TWebBrowser et création dynamique
    Par BakaOnigiri dans le forum Web & réseau
    Réponses: 2
    Dernier message: 01/09/2002, 10h53
  5. Création dynamique de TImages
    Par Dric dans le forum C++Builder
    Réponses: 10
    Dernier message: 08/07/2002, 12h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo