Configuration DataGrid sous VB.NET 2003
Bonjour à tous et à toutes,
je suis confronté à un problème avec le datagrid; j'utilise la version 2003 et j'ai pour source de données de ma winform un dataset fortement typé composé par les datatables Commandes(NoBonCde,DateCde,MonCde), Client(NoClt,NomClt,AdresseClt, SituationGeo), Produits(RefPdt, Designation, calories, PU,Unite) et DetailsCde(NoBonCde,RefPdt,QteCde).
pour le datagrid, j'ai:
datasource=dscommande
datamember=commandeDetails (la relation entre commandes et detailsCde)
Mais je reçois tourjours un message me signifiant que la table DetailsCde n'a pas de réference en ce qui concerne le NoBonCde à chaque fois que je tente de créer une nouvelle commande client.
Quelqu'un aurait-il une suggestion à me faire? Ou peut-être que je n'ai pas su correctement comment faire la configuration du datagrid?
Merci d'avance pour vos réponses.:cry:
1 pièce(s) jointe(s)
Bonjour à tous et à toutes.
Et merci de m'aider, je suis nouveau en VB.net
Quand la propriété EnforceConstraint est à True comme ce-dessous, le message apparait.
Me.DsRequisition1.EnforceConstraints = True
Mais quand elle est à False, plus de message.
Cependant, comme en MS Access, je pensais que dès que j'entre la réference
de la Requisition, il y avait mise à jour automatiquede la colonne Requisition du datagrid. Mais cela n'est pas le cas.
Vous trouverez en attaché le formulaire que j'ai construit à cet effet.
Voici les codes que j'ai utiliser pour ce formulaire:
Private Sub frmRequisition_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.SqlConnReq.Open()
Me.DsRequisition1.EnforceConstraints = False
Me.SqlDatContingent.Fill(Me.DsRequisition1.Deployment)
Me.SqlDatPeriod.Fill(Me.DsRequisition1.Period)
Me.SqlDatProduct.Fill(Me.DsRequisition1.Product)
Me.SqlDatReqDetails.Fill(Me.DsRequisition1.Requisition_Details)
Me.SqlDatReqType.Fill(Me.DsRequisition1.Requisition_Type)
Me.SqlDatRequisition.Fill(Me.DsRequisition1.Requisition)
End Sub
Private Sub frmRequisition_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
Dim rep As String
rep = MsgBox("Do you want to save changes?", MsgBoxStyle.YesNoCancel, "Closing requisition window")
Select Case rep
Case MsgBoxResult.Yes
SqlDatRequisition.Update(DsRequisition1, "requisition")
SqlDatRequisitionDetails.Update(DsRequisition1, "requisitionDetails")
Me.DsRequisition1.Dispose()
Case MsgBoxResult.No
Me.DsRequisition1.Dispose()
Case MsgBoxResult.Cancel
e.Cancel = True
End Select
End Sub
Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click
Me.BindingContext(DsRequisition1, "requisition").Position = 0
End Sub
Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious.Click
Me.BindingContext(DsRequisition1, "requisition").Position -= 1
End Sub
Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click
Me.BindingContext(DsRequisition1, "requisition").Position += 1
End Sub
Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click
Me.BindingContext(DsRequisition1, "requisition").Position = Me.BindingContext(DsRequisition1, "requisition").Count - 1
End Sub
Private Sub btnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNew.Click
Me.BindingContext(DsRequisition1).EndCurrentEdit()
Me.BindingContext(DsRequisition1).AddNew()
End Sub
Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
If (Me.BindingContext(DsRequisition1).Count > 0) Then _
Me.BindingContext(DsRequisition1).RemoveAt(Me.BindingContext(DsRequisition1).Position)
End Sub
End Class