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