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

VB.NET Discussion :

ListBox, Requête, Menu Déroulant !


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 53
    Points : 54
    Points
    54
    Par défaut ListBox, Requête, Menu Déroulant !
    Bonjour !

    J'aimerais par le biais de ma page, afficher une liste de personnes, en fonction d'un paramètres présent dans une liste déroulante, je vous présente ma page pour plus de clarté :



    J'arrive sans aucun soucis à récupérer ma liste déroulante via mon SqlDataSource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        <asp:SqlDataSource ID="source_session" runat="server" ConnectionString="<%$ ConnectionStrings:Formation_2014ConnectionString %>"
            SelectCommand="SELECT Sessions.id_session, Sessions.date_fin_session, Formation.libelle_formation FROM Sessions INNER JOIN Formation ON Sessions.id_formation = Formation.id_formation WHERE (Sessions.actif_session = 1)">
            <SelectParameters>
                <asp:Parameter DefaultValue="1" Name="actif_session" Type="Int16" />
            </SelectParameters>
        </asp:SqlDataSource>
    J'ai besoin d'afficher une liste de personnes, via une requête qui utilise cette liste, voici ma seconde Source de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Formation_2014ConnectionString %>"
            SelectCommand="SELECT { fn CONCAT(Personnes.nom_personne, Personnes.prenom_personne) } AS Nom 
    FROM Personnes 
    INNER JOIN Est_Forme ON Personnes.id_personne = Est_forme.id_personne 
    WHERE (Est_Forme.id_formation = @id_formation)">
            <SelectParameters>
                <asp:ControlParameter ControlID="list_session" Name="id_formation" PropertyName="SelectedValue" />
            </SelectParameters>
        </asp:SqlDataSource>
    Actuellement ça ne fonctionne pas, je ne prends pas encore en compte mes trois boutons "Déjà formé/Jamais formé/Recyclage" mais par la suite il faudra que je modifie la requête de mon deuxième SqlDataSource en fonction de l'option sélectionné, ce que je ne sais pas encore faire non plus, mais je n'ai pas encore regardé ce point du développement !

    Si quelqu'un sait m'aider, je lui en serais reconnaissant !

    Merci d'avance,
    Krishnak

    -- Edit -- Le soucis viendrait apparemment de mon ControlParameter, quand je le supprime est met une valeur brute dans ma requête, du genre 10, elle fonctionne !

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Points : 243
    Points
    243
    Par défaut
    Bonjour,

    Je ne connais pas l'asp et le asp:ControlParameter mais je tente ma chance.

    Ne devrais tu pas mettre le @ devant son nom afin qu'il soit identifié ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <asp:ControlParameter ControlID="list_session" Name="@id_formation" PropertyName="SelectedValue" />
    A+

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 53
    Points : 54
    Points
    54
    Par défaut
    Nop, ça n'est pas la solution :/ Te méthode m'affiche une jolie erreur :

    La variable scalaire "@id_formation" doit être déclarée.

    Je pense passer par un bouton en fait, ce sera plus simple !

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Points : 243
    Points
    243
    Par défaut
    Bonjour,

    J'ai regardé un peu comment fonctionne asp:ControlParameter.
    La syntaxe me semble en effet correct, visiblement il n'est pas nécessaire d'avoir le @.

    Etes vous sur que votre contrôle "list_session" est bien nommé comme ceci ?
    Vous n'avez pas mis son code de création.

    citation msdn : La propriété ControlID identifie quelle instance de Control vers laquelle créer une liaison et la propriété PropertyName identifie la propriété publique du Control duquel la classe ControlParameter récupère une valeur.

    http://msdn.microsoft.com/fr-fr/libr...v=vs.110).aspx


    A+

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 53
    Points : 54
    Points
    54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <asp:DropDownList ID="list_session" runat="server" Width="100%" DataSourceID="source_session"
                        DataTextField="libelle_formation" DataValueField="id_session" AutoPostBack="True">
                    </asp:DropDownList>
    Oui j'en suis sûr

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Juin 2010
    Messages : 210
    Points : 243
    Points
    243
    Par défaut
    Oui en effet,

    En fait, je n'ai pas demandé. Quand tu dis que ça ne marche pas, tu prends une erreur ?
    Si oui, laquelle ?

    A+

  7. #7
    Futur Membre du Club
    Femme Profil pro
    comptable
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : comptable

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    Je ne connais pas asp mais je pense que la piste c'est que :
    1) tu as défini dans ta requête que le critère de tri était @id_formation --> OK parce que cette valeur il doit aller la lire dans ta source_session : se sera l'item cliqué !
    2) du coup, il te faut maintenant lui dire que c'est quand tu cliques sur l'un de tes "item" de ta droplist qu'il vient charger cet "item" comme valeur à @id_formation
    puisque là je ne vois pas dans ton code où tu dis à quoi correspond @id_formation
    Et c'est pour cela que quand tu vires ton inconnu @id_formation et que tu mets 10 cela marche très bien, parce que tu n'as pas donné de valeur à ton inconnu sinon !

    En vb on met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sqlcommand.Parameters("@id_formation").Value = source_session.SelectedItems(0).Text.Trim
    En asp, tu dois avoir un truc dans le genre peut être

    Je tente, je n'affirme rien vu que je ne suis que débutante !

    Edit -- ton code de chargement de ta seconde base doit se faire dans le Sub de source_session_SelectedIndexchanged

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2014
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2014
    Messages : 53
    Points : 54
    Points
    54
    Par défaut
    J'ai changé de mode opératoire :p
    J'ai maintenant ajouté un bouton sous ma liste, ce qui m'allège la page, elle n'a plus à se recharger à chaque fois

    Avec ce petit bouton, tout fonctionne parfaitement !

    Merci pour vos réponses, Blancinette, je vais tout de même essayer ta méthode Mais la valeur de mon @id_formation est définie juste à la fin du SQLDataSource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            <SelectParameters>
                <asp:ControlParameter ControlID="list_session" Name="id_formation" PropertyName="SelectedValue" />
            </SelectParameters>
    tu vois ?

    En tout cas merci à vous à nouveau !

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

Discussions similaires

  1. [MySQL] Requête(s ?) pour menu déroulant
    Par sitschner dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 13/06/2008, 18h07
  2. Requête : données menu déroulant
    Par CaPiT dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 07/01/2008, 11h59
  3. [Access] Requête : données menu déroulant
    Par mulanzia2003 dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 02/08/2007, 13h29
  4. Problème sur menu déroulant selon requête
    Par Lola21 dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 30/06/2006, 11h05
  5. Menu déroulant selon requête
    Par guimauve dans le forum Requêtes et SQL.
    Réponses: 32
    Dernier message: 29/06/2006, 16h08

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