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 :

Récupérer la valeur choisie dans un CascadingDropDown


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Récupérer la valeur choisie dans un CascadingDropDown
    Bonjour

    Ben je m'en doutais un peu, mais je croyais pas revenir là dessus aussi vite. Vous pourrez suivre le remplissage du bestiau dans un topic tout frais ici : http://www.developpez.net/forums/d71...pdown-remplir/

    Maintenant, ben tout naturellement, je cherche à récupérer la valeur saisie.
    Dans mon cas jai 4 listes les unes en dessous des autres. L'idée c'est de récupérer la valeur saisie dans la dernière liste activée. Ces listes sont le découpage géopolitique français en : Région, département, arrondissement et ville.

    Alors voilà, je me suis dit : je vais mettre un HiddenField et je vais le remplir à chaque fois qu'une liste change, ben oui, mais vu qu'il y a de l'Ajax dans tout ça, le HiddenFiled posé là ne se rempli pas.....

    Alors je me suis dit, c'est aps grave, je vais trouver le UpdatePanel qui est dérrière tout ça et lui forcer la main pour qu'il me renvoi quelque chose. Ben là, je cherche et je trouve pas. Du coup, je capte pas bien comment récupérer la valeur saisie dans la dernière liste activée.

    Pouvez vous m'aider ?

  2. #2
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 174
    Par défaut
    Tu peux mettre 4 CascadingDropDownList à la suite.

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    BEn, c'est ce que j'ai fait, voici mon code HTML :
    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
     
    <asp:DropDownList ID="lstRegion" runat="server"></asp:DropDownList><br />
    <asp:DropDownList ID="lstDepartement" runat="server"></asp:DropDownList><br />
    <asp:DropDownList ID="lstArrondissement" runat="server"></asp:DropDownList><br />
    <asp:DropDownList ID="lstVille" runat="server"></asp:DropDownList><br />
    <ajaxToolkit:CascadingDropDown ID="cddRegion" runat="server"
        TargetControlID="lstRegion"
        Category="10"
        PromptText="Choisissez une région"
        ServicePath="~/GMPhotoProfil.asmx"
        ServiceMethod="RemplirListeGeoPolitique"
    ></ajaxToolkit:CascadingDropDown>
    <ajaxToolkit:CascadingDropDown ID="cddDepartement" runat="server"
        TargetControlID="lstDepartement"
        ParentControlID="lstRegion"
        Category="0"
        PromptText="Choisissez un département"
        ServicePath="~/GMPhotoProfil.asmx"
        ServiceMethod="RemplirListeGeoPolitique"></ajaxToolkit:CascadingDropDown>
    <ajaxToolkit:CascadingDropDown ID="cddArrondissement" runat="server"
        TargetControlID="lstArrondissement"
        ParentControlID="lstDepartement"
        Category="1"
        PromptText="Choisissez un arrondissement"
        ServicePath="~/GMPhotoProfil.asmx"
        ServiceMethod="RemplirListeGeoPolitique"></ajaxToolkit:CascadingDropDown>
    <ajaxToolkit:CascadingDropDown ID="cddVille" runat="server"
        TargetControlID="lstVille"
        ParentControlID="lstArrondissement"
        Category="2"
        PromptText="Choisissez une ville"
        ServicePath="~/GMPhotoProfil.asmx"
        ServiceMethod="RemplirListeGeoPolitique"></ajaxToolkit:CascadingDropDown>

  4. #4
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 174
    Par défaut
    Les 4 pointent vers la même méthode, c'est normale ?

    Sinon, ce devrait être bon.

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Oui, c'est normal. La méthode récupère (c'est justement tout le problème de l'autre topic) l'id de la zone déterminée pour fabriquer la liste du contenu de cette zone.

    Par exemple : tu choisi Bretagne dans la première liste (exemple pris totalement au hasard évidement....) la deuxième liste va se remplir de Finistère, Ille et Vialaine, Cote d'armor et Morbihan.

    La procédure Stockée appellé sait, en prenant l'id de Bretagne, allé chercher les éléments de l'échelon d'en dessous.

    J'ai fariqué ma table selon les bons conseil de SQPPRO avec son tuto sur al gestion d'arbre intervellaire (un truc de dingue ! ). C'est là pour la curiosité de la chose : http://sqlpro.developpez.com/cours/arborescence/

    Et donc je fais en sorte que cela appelle la même méthode, vu que la différence c'est juste l'identifiant d'entrée.

    Mais tout ça ne m'aiguille pas sur le moyen de capter la valeur de sortie, celle choisi dans la dernière liste.

  6. #6
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 174
    Par défaut
    Pour le dernier DropDownList, un lstVille.SelectedValue ne marche pas ?
    D'ailleurs je viens de regarder en détail, et tes arrondissements sont au dessus de ta ville (région/dept/arr/ville)

    Et tu n'as qu'une table pour tous ??
    Pas une table region/dept/ville/arron avec des clés étrangères ?

  7. #7
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Bon, ben à force de recherche et de bricolage j'ai fini par trouvé un truc qui marche bien mais que je trouve pas propre.
    Vu que je passe pas un ASCX j'ai rajouté un HiddenField. Sur chaque SelectedIndexChange de cahque DDL je place la SeletedValue de la liste concernée. Comme ça, l'utilisateur peut changer de liste autant de fois qu'il veut, c'est toujours la dernière valeur qui sera prise en compte.

    Mais j'aurais pensé que dérrière le Contrôle CascadingDropDown il y aurait pu y avoir un truc qui centralise la dernière info saisie ou quelque chose du genre.

    Sinon, les arrondissements sont au-dessus des villes car un arrondissement est formé de plusieurs villes. Il ne faut pas croire que Paris, Lyon et Marseille sont la règle. En fait ces trois villes sont même des execptions à cause de leur taille. Les arrondissements de Marseille (par exemple) sont une dérogation géographique pour permettre une meilleur gestion des collectivités territoriales (enfin, en théorie....).

    Ensuite, une table pour chaque, certainement pas. As tu regardé le tuto de SQLPRO ? Il se trouve que pour les communes (rien que de France, mais ma table va grossir puisque je travaille déjà sur les communes belges) je rempli les conditions d'utilisation d'arbre intervellaire. Du coup, pas besoins d'une table pour chaque, l'intervalle me permet de retrouver facilement les choses, surtout dans ce genre de contexte.

    En tout cas merci pour ton aide.

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

Discussions similaires

  1. Récupérer la valeur choisie dans un popupmenu
    Par Super Nonuche dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 28/08/2014, 14h01
  2. Récupérer l'indice d'une valeur choisie dans une liste déroulante
    Par winflow dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/01/2014, 12h15
  3. [MySQL] Récupérer les valeurs définies dans un champ ENUM
    Par Huntress dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 03/07/2010, 18h55
  4. Récupérer valeur choisie dans une combo box!
    Par sheep_one dans le forum Windows
    Réponses: 4
    Dernier message: 12/05/2010, 16h18
  5. Réponses: 2
    Dernier message: 11/12/2004, 21h20

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