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 :

Mise à jour d'une dropdownList par une autre


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 3
    Par défaut Mise à jour d'une dropdownList par une autre
    Bonjour,

    voici mon problème :

    j'ai deux DDL contenant des couleurs, j'ai une BDD qui associer deux couleurs entre-elles. je veux que quand l'on selectionne une elle selection dans l'autre DDL la couleur associé, mon code et mes requettes marches, c'est la mise à jour qui ne marche pas

    pourl'instant j'ai codé uniquement la DDL1 change la DDL2

    je vous remercie d'avance

    voici mon code

    aspx :

    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
     <asp:Content ID="ContenuAjouterBrique" ContentPlaceHolderID="Contenu" runat="server">
     
        <asp:ScriptManager ID="ScriptManager1" runat="server">
     
        </asp:ScriptManager>
     
     
        <p><asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" 
            RenderMode="Inline">  
            <ContentTemplate>
                <asp:Label ID="LabelCouleurLego" runat="server" Text="Couleur Référence Lego : "></asp:Label>
                <asp:DropDownList ID="DropDownListCouleurLego" runat="server" OnSelectedIndexChanged ="DropDownListCouleurLego_SelectedIndexChanged"></asp:DropDownList>
                </ContentTemplate>
                </asp:UpdatePanel>
        </p>
     
        <p><asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional" 
            RenderMode="Inline">  
            <ContentTemplate>
                <asp:Label ID="LabelCouleurPeeron" runat="server" Text="Couleur Référence Peeron : "></asp:Label><asp:DropDownList ID="DropDownListCouleurPeeron" runat="server" AutoPostBack="False"></asp:DropDownList>   
            </ContentTemplate> 
     
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="DropDownListCouleurLego" 
                    EventName="SelectedIndexChanged" />
            </Triggers>
     
        </asp:UpdatePanel></p>
        </asp:Content>

    et voici mon code vb :


    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
     
     
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            DropDownListCouleurLego.Items.Clear()
            DropDownListCouleurPeeron.Items.Clear()
            Dim ConnectionDB As MySqlConnection = New MySqlConnection(StringDB)
            Try
                ConnectionDB.Open()
                Dim requetteCouleurLego As String = "SELECT couleur_lego FROM couleur_lego"
                Dim requetteur As MySqlCommand = New MySqlCommand(requetteCouleurLego, ConnectionDB)
                Dim ResultatRequette As MySqlDataReader = requetteur.ExecuteReader()
                While ResultatRequette.Read() = True
                    DropDownListCouleurLego.Items.Add(ResultatRequette.GetString(0))
                End While
                ResultatRequette.Close()
                Dim requetteCouleurPeeron As String = "SELECT couleur_peeron FROM couleur_peeron"
                requetteur = New MySqlCommand(requetteCouleurPeeron, ConnectionDB)
                ResultatRequette = requetteur.ExecuteReader()
                While ResultatRequette.Read() = True
                    DropDownListCouleurPeeron.Items.Add(ResultatRequette.GetString(0))
                End While
                requetteur.Dispose()
                ConnectionDB.Close()
            Catch ex As MySqlException
     
     
            End Try
     
            ConnectionDB.Dispose()
            AssocierDropDownListCouleurLegoPeeron()
        End Sub
     
        Protected Sub ButtonPreVisualisationImage_Click(ByVal sender As Object, ByVal e As EventArgs) Handles ButtonPreVisualisationImage.Click
            FileUploadImage.SaveAs(Server.MapPath("./images_temp/" & TextBoxRefLego.Text & ".jpg"))
            ImagePrevi.ImageUrl = "~/images_temp/" & TextBoxRefLego.Text & ".jpg"
        End Sub
     
        Protected Sub DropDownListCouleurLego_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DropDownListCouleurLego.SelectedIndexChanged
            AssocierDropDownListCouleurLegoPeeron()
            UpdatePanel2.Update()
        End Sub
     
        Private Sub AssocierDropDownListCouleurLegoPeeron()
            Dim ConnectionDB As MySqlConnection = New MySqlConnection(StringDB)
            Try
                ConnectionDB.Open()
                Dim requetteIdCouleurLego As String = "SELECT id_couleur_lego FROM couleur_lego WHERE couleur_lego='" & DropDownListCouleurLego.SelectedItem.Text & "'"
                Dim requetteur As MySqlCommand = New MySqlCommand(requetteIdCouleurLego, ConnectionDB)
                Dim ResultatRequette As MySqlDataReader = requetteur.ExecuteReader()
                ResultatRequette.Read()
                Dim id_couleur_lego As Integer = ResultatRequette.GetInt32(0)
                ResultatRequette.Close()
     
                Dim requetteAssociationCouleur As String = "SELECT id_couleur_peeron FROM associer_clego_cpeeron WHERE id_couleur_lego='" & id_couleur_lego & "'"
                requetteur = New MySqlCommand(requetteAssociationCouleur, ConnectionDB)
                ResultatRequette = requetteur.ExecuteReader()
                ResultatRequette.Read()
                Dim id_couleur_peeron As Integer = ResultatRequette.GetInt32(0)
                ResultatRequette.Close()
     
                Dim requetteNomCouleurPeeron As String = "SELECT couleur_peeron FROM couleur_peeron WHERE id_couleur_peeron='" & id_couleur_peeron & "'"
                requetteur = New MySqlCommand(requetteNomCouleurPeeron, ConnectionDB)
                ResultatRequette = requetteur.ExecuteReader()
                ResultatRequette.Read()
                Dim trouver As Boolean = False
                Dim indexItemListePeeron As Integer = 0
                While trouver = False
                    If DropDownListCouleurPeeron.Items(indexItemListePeeron).Text = ResultatRequette.GetString(0) Then
                        trouver = True
                    Else
                        indexItemListePeeron = indexItemListePeeron + 1
                    End If
                End While
                DropDownListCouleurPeeron.SelectedIndex = indexItemListePeeron
                ResultatRequette.Close()
                ConnectionDB.Close()
            Catch ex As MySqlException
     
            End Try
            ConnectionDB.Dispose()
        End Sub

  2. #2
    Membre très actif
    Avatar de alex61
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2010
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2010
    Messages : 378
    Par défaut


    la ca donne mal au yeux

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 3
    Par défaut
    Citation Envoyé par alex61 Voir le message


    la ca donne mal au yeux
    voilà corrigé !! merci

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Ta drop down 1 est réinitialisée à chaque postback, donc tu perds ta sélection, donc pas de mise à jour de ta drop down 2

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 3
    Par défaut
    Citation Envoyé par lutecefalco Voir le message
    Ta drop down 1 est réinitialisée à chaque postback, donc tu perds ta sélection, donc pas de mise à jour de ta drop down 2
    Bonjour,

    je suis plutot débutant et je viens du monde c# et WinForm !! il y a t'il un moyen de construires ces ddl en server et d'y ajouter un control sur le client ?

    merci

  6. #6
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    comme dit lutefalco...

    Dans ton page_load tu réinitialises systématiquement tes dropdown, ca va pas marcher.

    je n'ai pas lu en détail le reste du code, mais ca ira mieux si tu ajoutes dans ton page_load une vérif afin de savoir si c'est un postback ou le premier chargement (IsPostback)

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/04/2010, 12h58
  2. Réponses: 4
    Dernier message: 31/10/2007, 20h27
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  4. [VBA-E]Mise à jour de cellule alimentée par une liste
    Par moritan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/01/2007, 06h11
  5. masquer une partie d'une vidéo par une banniere
    Par lezabour dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2006, 16h47

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