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 :

Drop Down List en cascade


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 19
    Par défaut Drop Down List en cascade
    Bonjours,

    Voilà ça fait quelques heures que je bloque sur un truc tout con.
    J’ai 3 drop down list qui dépende l’une de l’autre toutes drop down list vont sont rempli avec des valeurs de ma base de données. (Dans ma première liste j’affiche des secteurs chaque secteurs à ces propre agences et chaque agences à ces propres agents)

    L’affichage des list et de leurs donné se fait très bien mais le souci que les trois drop down list on :
    -AppendDataBoundItems = true affin de pouvoir avoir un item vide en premier.
    -AutoPostBack = true affin de pouvoir interagir entre elles.

    Mais voila la ou sa se complique c’est que je doit faire un traitement sur le SelectIndexChange des drop down list et je viens de me rendre compte que lorsque je change la valeur de la drop list 2 le programme m’exécute le SelectIndexChange de la drop down list 1 et celui de la drop down list 2 alors que juste celui de la drop down list 2 devrais s’exécuter.

    Voilà j’espère avoir été clair et merci d’avance.

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par Vinz810 Voir le message
    Mais voila la ou sa se complique c’est que je doit faire un traitement sur le SelectIndexChange des drop down list et je viens de me rendre compte que lorsque je change la valeur de la drop list 2 le programme m’exécute le SelectIndexChange de la drop down list 1 et celui de la drop down list 2 alors que juste celui de la drop down list 2 devrais s’exécuter.
    Je pense que ce comportement est lié au fait que tu n'as pas utilisé la propriété Page.IsPostBack afin de ne pas recharger le contenu de tes DropDownList au rechargement de la page.

    En gros il faut que tu fasses quelque chose du genre :
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            // Ici tu charges tes DropDownLists, uniquement dans le cas où tu n'es pas dans un PostBack.
        }
    }
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 19
    Par défaut
    Mais les drop down list sont chargé automatiquement grâce à leur objet data source.

    Et je viens de me rendre compte d'un autre bug quand je sélectionne l'item vide que j'ai mis au début des drop down list le SelecteIdexChange ne se lance pas.

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Billets dans le blog
    3
    Par défaut
    Peux-tu poster ton code pour qu'on y voit plus clair ? (ASPX et code behind)
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 19
    Par défaut
    Désoler de pas avoir mis le code mais bon j'ai pas mal essayer de truc et c'était un peux incompréhensible...

    Voilà je repart sur ma configuration de base et je vais expliquer le problème plus clairement

    Coté ASPX : j'ai 3 drop down list qui dépende l'une de l'autre quand je clique sur une valeur de la première DDL j'ai la seconde qui se construit quand je clique sur la seconde la troisième qui se construit si je passe la première à vide les deux autre se vide et si je passe à vide la seconde la troisième passe à vide donc jusque la j'ai pas de souci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <asp:Label ID="LBL_TXTSECTEUR" runat="server" Text="Secteur :" AssociatedControlID="DDL_SECTEUR"></asp:Label>
    <asp:DropDownList ID="DDL_SECTEUR" runat="server" AppendDataBoundItems="True" DataSourceID="ODS_RECUPSECTEUR"
        DataTextField="SecteurDirection" DataValueField="SecteurDirection" AutoPostBack="True"
        EnableViewState="False" CssClass="combogrand">
        <asp:ListItem></asp:ListItem>
    </asp:DropDownList>
     
    <asp:Label ID="LBL_TXTAGENCE" runat="server" Text="Agence :" AssociatedControlID="DDL_AGENCE"></asp:Label>
    <asp:DropDownList ID="DDL_AGENCE" runat="server" AppendDataBoundItems="True" DataSourceID="ODS_RECUPAGENCE"
        DataTextField="AgenceSousUnite" DataValueField="AgenceSousUnite" 
        AutoPostBack="True" CssClass="combomoyen" EnableViewState="False" >
        <asp:ListItem></asp:ListItem>
    </asp:DropDownList>                                    
     
    <asp:Label ID="LBL_TXTAGENT" runat="server" Text="Agent :" AssociatedControlID="DDL_AGENT"></asp:Label>
    <asp:DropDownList ID="DDL_AGENT" runat="server" AppendDataBoundItems="True" AutoPostBack="True"
        DataSourceID="ODS_RECUPAGENT" DataTextField="NomPrenom" DataValueField="CodeAgent"
        EnableViewState="False" CssClass="combomoyen" >
        <asp:ListItem></asp:ListItem>
    </asp:DropDownList>
     
    //ODS
     
    <asp:ObjectDataSource ID="ODS_RECUPSECTEUR" runat="server" SelectMethod="RecupSecteur"
        TypeName="AnnuaireLibrary.AcceDonneesAnnuaire"></asp:ObjectDataSource>
    <asp:ObjectDataSource ID="ODS_RECUPAGENCE" runat="server" SelectMethod="RecupAgenceParSecteur"
        TypeName="AnnuaireLibrary.AcceDonneesAnnuaire">
        <SelectParameters>
            <asp:ControlParameter ControlID="DDL_SECTEUR" Name="p_secteur" PropertyName="Value"
            Type="String"></asp:ControlParameter>
        </SelectParameters>
    </asp:ObjectDataSource>
    <asp:ObjectDataSource ID="ODS_RECUPAGENT" runat="server" SelectMethod="AgentRecupParAgence"
        TypeName="AnnuaireLibrary.AcceDonneesAnnuaire">
        <SelectParameters>
            <asp:ControlParameter ControlID="DDL_AGENCE" Name="p_agence" PropertyName="Value"
            Type="String"></asp:ControlParameter>
        </SelectParameters>
    </asp:ObjectDataSource>
    Coté code behind : La ou sa se complique c'est que maintenant il me faut gérer un problème de rôles quand je suis dans un certain rôle la première DDL doit être présélectionné et ne peux pas être modifiable, dans un autre rôle on doit avoir les 2 première DDL de présélectionné et juste la dernière de modifiable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    if (!IsPostBack)
    {
        string mesroles = "role1";
     
        if(mesroles == "role1")
        {
            DDL_SECTEUR.SelectedValue = monSecteur;
            DDL_SECTEUR.Enabled = false;
        }
        if (mesroles == "role2")
        {
            DDL_SECTEUR.SelectedValue = monSecteur;
            DDL_SECTEUR.Enabled = false;
            DDL_AGENCE.SelectedValue = monAgence;
            DDL_AGENCE.Enabled = false;
        }
    }
    Arrivé a se stade je me suis rendu compte que deux problème arrivé à moi le premier c'est que dans les DDL qui ne sont pas bloqué toutes les valeurs sont en double et le second souci c'estque quand je sélectionne une valeur dans une DDL celle qui sont grisé redevienne active et toute les valeur sélectionné dans les DDL redevienne à vide.

    Voila j’espère avoir était un peux plus clair et avoir plus ciblé mon problème...

    En tout cas merci de passé du temps pour essayer de m'aider

Discussions similaires

  1. [AJAX] Drop down list en cascade
    Par cornnery dans le forum AJAX
    Réponses: 0
    Dernier message: 19/04/2010, 21h05
  2. Problème de rafraîchissement de drop-down list
    Par Emdee79 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 14/09/2007, 09h48
  3. [JSP] Interaction drop-down List
    Par Invité dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 07/05/2007, 20h51
  4. Récupérer la valeur d'une Drop Down List
    Par dahu17 dans le forum C#
    Réponses: 1
    Dernier message: 23/04/2007, 14h17
  5. [AutoComplétion] Drop down list
    Par tintin31000 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 28/10/2005, 15h37

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