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

ASP.NET Discussion :

Remplissage DropdownList à l'aide d'une autre


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Remplissage DropdownList à l'aide d'une autre
    Bonjour à tous

    Voila le probleme , je dispose de 14 dropdownlist fonctionnant 2 à 2

    Je dois créer une fonction permettant de remplir la 2eme ddl en fonction d'un choix sur la premiere et effectuer ceci sur toutes les ddl.

    Le code permettant ceci est :

    //if (ddlJourLundi.SelectedValue.ToString() == "Matin")
    //{
    // for ( intCompt = clsProperties.INTHEURE_DEBUT_JOURNEE; intCompt < clsProperties.INTHEURE_MILIEU_JOURNEE; intCompt++)
    // {
    // //ddlHeureLundi.Items.Add(intCompt + " h00");
    // }
    //}
    //else
    //{
    // if (ddlJourLundi.SelectedValue.ToString() == "Après-Midi")
    // {
    // for (intCompt = clsProperties.INTHEURE_MILIEU_JOURNEE; intCompt < clsProperties.INTHEURE_SOIR_JOURNEE; intCompt++)
    // {
    // ddlHeureLundi.Items.Add(intCompt + " h00");
    // }

    // }
    // else
    // {
    // if (ddlJourLundi.SelectedValue.ToString() == "Soir")
    // {
    // for ( intCompt = clsProperties.INTHEURE_SOIR_JOURNEE; intCompt < clsProperties.INTHEURE_FIN_JOURNEE; intCompt++)
    // {
    // ddlHeureLundi.Items.Add(intCompt + " h00");
    // }
    // }
    // else
    // {
    // for ( intCompt = clsProperties.INTHEURE_DEBUT_JOURNEE; intCompt < clsProperties.INTHEURE_FIN_JOURNEE; intCompt++)
    // {
    // ddlHeureLundi.Items.Add(intCompt + " h00");
    // }

    // }
    // }
    Seulement ceci est trop long pour le mettre dans chaque SelectedIndexChanged de mes premieres ddl.
    cela doit fonctionner pour tous les jours de la semaine.

    Je ne vois pas comment faire

    Merci

    Help me

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 253
    Points
    28 253
    Par défaut
    ta conception n'est p-e pas bonne dès le début. moi j'aurais fait un usercontrol contenant un panel et dans celui-ci deux dropdownlist. puis tu dupliquerai ce composant 7 fois.

    l'avantage:
    la modification du composant permet de dupliquer les modifications, comme la valeur ou n'importe quoi.
    l'autre chose est d'avoir le code "métier" et le code que tu donnes, une seule fois puisqu'il se trouve dans le usercontrol. Tu n'aurais donc qu'une seule fois le code SelectedIndex_Changed.

    par contre, tu devras sûrement faire des propriétés pour accéder aux valeurs de ton usercontrol mais le principe est toujours le même. lorsque qu'un composant ayant un rôle bien particulier, apparait plus de deux fois dans une appli, pour faire la même chose, alors vaut mieux utiliser un usercontrol. En plus, si demain, on rajoute un jour de la semaine après dimanche ( bah quoi, un plus grand WE ), et bien, tu n'auras qu'à placer un usercontrol de plus et rien à changer dans le code

  3. #3
    Membre actif Avatar de bartoumi
    Profil pro
    Inscrit en
    Février 2005
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 178
    Points : 205
    Points
    205
    Par défaut
    effectivement c'est tres lourd

    Cree toi une methode a part en private te permettant de remplir une DropDownList a partir d'une autre.

    Cette methode prend comme argument deux dropDownList.

    appelle la a partir de tout tes selectIndex.

    y'en a des methode mieux que ça si tu veux te renseigner en utilisant la delegation.

    Merci

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Ah ok, je n'avais pas vu cela comme ca

    je vais tester cela, cela me prendra un peu de temps étant donné que je n'ai jamais fait de user control mais des que c'est fini je te previens

    merci encore de ta reponse qui me met sur la voie


  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup pour le système avec les UserControl...Ca fonctionne à merveille

    Si j'ai une autre question à poser, j'espère retomber sur vous ^^


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

Discussions similaires

  1. Reduire les possiblites d'une combobox a l'aide d'une autre combobox
    Par pubbins dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/10/2010, 20h54
  2. Réponses: 7
    Dernier message: 23/07/2010, 16h51
  3. [AC-2003] remplir une table a l'aide d'une autre
    Par host22 dans le forum Access
    Réponses: 9
    Dernier message: 24/03/2010, 08h26
  4. Réponses: 4
    Dernier message: 19/04/2009, 20h49
  5. Excel - Définir une cellule à l'aide d'une autre
    Par Aless75 dans le forum Excel
    Réponses: 7
    Dernier message: 24/09/2008, 11h58

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