Bonjour,

je dispose 2 table
client ( id_client,nom,ville)
commande(num_commande,id_client)


Je souhaiterai creer un combox charger avec les villes des clients,quand l'utilisateur choisit par exemple 'casablanca' la premier datagridview va afficher
tous les clients qui habitants à 'casablanca' et aprés quand on clique sur un enregistrement de cette dgv la deuxième dgv affichera les commandes du client sélectionnée

J'ai bien mon dataset avec ma table 'client' et ma table 'commande'

J'ai egalement aussi réaliser mes 2 datarelation que j'ai ajouter au datatset

voici mon code

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
 
   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        con.Open()
        dp.Fill(ds, "ville")
        dp2.Fill(ds, "clients")
        dp3.Fill(ds, "commmande")
 
        dr = New DataRelation("r1", ds.Tables("ville").Columns("ville"), ds.Tables("client").Columns("ville"))
        ds.Relations.Add(dr)
        dr1 = New DataRelation("r2", ds.Tables("clients").Columns("id"), ds.Tables("commande").Columns("id_client"))
        ds.Relations.Add(dr1)
        ComboBox1.DataSource = ds
        ComboBox1.DisplayMember = "ville.ville"
 
 
    End Sub
 
 
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        DataGridView1.AutoGenerateColumns = True
        DataGridView1.DataSource = ds
        DataGridView1.DataMember = "ville.r1"
 
 
    End Sub
 
    Private Sub DataGridView1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.SelectionChanged
 
 
        DataGridView2.AutoGenerateColumns = True
        DataGridView2.DataSource = ds
        DataGridView2.DataMember = "clients.r2"
 
 
 
    End Sub
mon combobox et ma datagridview1 Ca marche très bien mais pour la deuxième il affiche un seul enregistrement et il ne se change jamais après