OVH Cloud OVH Cloud

URGENT : combox et datagrid

2 réponses
Avatar
C. Vidal
Bonjour à tous,

J'aurai besoin d'une information concernant le lien entre une combobox et un
datagrid.
Je vous explique mon souci. En reprenant les exemples du MSDN, j'ai réussi à
créer deux datagrid et à créer une relation entre ces deux grilles. Le code
ressemble à ceci :

Les déclarations des différentes variables sont faites.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
bdd = New BddAccess()
bdd.Open()
MaTable = bdd.ExecuteQuery("Select * from MARQUES")
MyDs.Tables.Add(MaTable)
MaTable2 = bdd.ExecuteQuery("Select * from TYPES")
MyDs.Tables.Add(MaTable2)
MyRelation = New DataRelation("MaRelation",
MyDs.Tables(0).Columns("MAR_ID"), MyDs.Tables(1).Columns("TYP_Marque"))
MyDs.Relations.Add(MyRelation)
dgListeMaitre.SetDataBinding(MyDs, "Table1")
dgListeDetail.SetDataBinding(MyDs, "Table1.MaRelation")
End Sub

Comme vous devez vous en douter, dgListeMaitre contient la liste de mes
marques et dgListeDeatil contient les types correspondants à chauqe marque.
Lorsque je clique clique sur une marque, la liste des types se met à jour.
La présentation de cette solution ne me convient. au lieu d'avoir deux
datagrid, je soiuhaiterai utiliser une combobix qui contient les infos de ma
table Marques et lorsque je change de marque, le datagrid dgListeDetail se
met à jour.
Pourriez vous m'aider car là je bloque depuis plusieurs jours et je ne
trouve pas d'exemples conluants sur le net.
Merci de votre aide par avance.
C. Vidal

2 réponses

Avatar
Eric Vernié [MS]
Bonjour C. Vidal,

Je pense que ce qu'il te faut c'est utiliser l'objet DataView qui pointe sur
ta table Enfant
Tu "bind" le dataview à ta datagrid (mais ne bind pas la relation avec
SetDataBinding),

Ensuite, sur tu rajoutes un filtre sur la selection de la valeur dans ta
combo
TonDataView.RowFilter="TonFiltre"

Logiquement, ta datagrid devrait se reafraichir automatiquement

A+

Eric Vernié
Microsoft France


"C. Vidal" wrote in message
news:
Bonjour à tous,

J'aurai besoin d'une information concernant le lien entre une combobox et


un
datagrid.
Je vous explique mon souci. En reprenant les exemples du MSDN, j'ai réussi


à
créer deux datagrid et à créer une relation entre ces deux grilles. Le


code
ressemble à ceci :

Les déclarations des différentes variables sont faites.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
bdd = New BddAccess()
bdd.Open()
MaTable = bdd.ExecuteQuery("Select * from MARQUES")
MyDs.Tables.Add(MaTable)
MaTable2 = bdd.ExecuteQuery("Select * from TYPES")
MyDs.Tables.Add(MaTable2)
MyRelation = New DataRelation("MaRelation",
MyDs.Tables(0).Columns("MAR_ID"), MyDs.Tables(1).Columns("TYP_Marque"))
MyDs.Relations.Add(MyRelation)
dgListeMaitre.SetDataBinding(MyDs, "Table1")
dgListeDetail.SetDataBinding(MyDs, "Table1.MaRelation")
End Sub

Comme vous devez vous en douter, dgListeMaitre contient la liste de mes
marques et dgListeDeatil contient les types correspondants à chauqe


marque.
Lorsque je clique clique sur une marque, la liste des types se met à jour.
La présentation de cette solution ne me convient. au lieu d'avoir deux
datagrid, je soiuhaiterai utiliser une combobix qui contient les infos de


ma
table Marques et lorsque je change de marque, le datagrid dgListeDetail se
met à jour.
Pourriez vous m'aider car là je bloque depuis plusieurs jours et je ne
trouve pas d'exemples conluants sur le net.
Merci de votre aide par avance.
C. Vidal








Avatar
C. Vidal
Merci cela fonctionne impeccable

"Eric Vernié [MS]" a écrit dans le message de
news:
Bonjour C. Vidal,

Je pense que ce qu'il te faut c'est utiliser l'objet DataView qui pointe
sur
ta table Enfant
Tu "bind" le dataview à ta datagrid (mais ne bind pas la relation avec
SetDataBinding),

Ensuite, sur tu rajoutes un filtre sur la selection de la valeur dans ta
combo
TonDataView.RowFilter="TonFiltre"

Logiquement, ta datagrid devrait se reafraichir automatiquement

A+

Eric Vernié
Microsoft France


"C. Vidal" wrote in message
news:
Bonjour à tous,

J'aurai besoin d'une information concernant le lien entre une combobox et


un
datagrid.
Je vous explique mon souci. En reprenant les exemples du MSDN, j'ai
réussi


à
créer deux datagrid et à créer une relation entre ces deux grilles. Le


code
ressemble à ceci :

Les déclarations des différentes variables sont faites.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
bdd = New BddAccess()
bdd.Open()
MaTable = bdd.ExecuteQuery("Select * from MARQUES")
MyDs.Tables.Add(MaTable)
MaTable2 = bdd.ExecuteQuery("Select * from TYPES")
MyDs.Tables.Add(MaTable2)
MyRelation = New DataRelation("MaRelation",
MyDs.Tables(0).Columns("MAR_ID"), MyDs.Tables(1).Columns("TYP_Marque"))
MyDs.Relations.Add(MyRelation)
dgListeMaitre.SetDataBinding(MyDs, "Table1")
dgListeDetail.SetDataBinding(MyDs, "Table1.MaRelation")
End Sub

Comme vous devez vous en douter, dgListeMaitre contient la liste de mes
marques et dgListeDeatil contient les types correspondants à chauqe


marque.
Lorsque je clique clique sur une marque, la liste des types se met à
jour.
La présentation de cette solution ne me convient. au lieu d'avoir deux
datagrid, je soiuhaiterai utiliser une combobix qui contient les infos de


ma
table Marques et lorsque je change de marque, le datagrid dgListeDetail
se
met à jour.
Pourriez vous m'aider car là je bloque depuis plusieurs jours et je ne
trouve pas d'exemples conluants sur le net.
Merci de votre aide par avance.
C. Vidal