Behind Code : Public Sub MajGrid() whdgReponse.Visible = True Dim idPosteDQE As Long = Francelot.Util.RetourneIdPosteDQE(idPosteEntreprise) Dim BddArtisan As New dcExiaDataContext Dim reqModeleComposanteVentilation = From n In BddArtisan.DQE_ModeleComposanteVentilation(idPosteDQE) Dim reqComposanteVentilation = From n In BddArtisan.DQE_ComposanteVentilation(idPosteDQE) Dim dtModeleComposanteVentilation As DataTable = Francelot.Util.ToDataTable(BddArtisan, reqModeleComposanteVentilation) dtModeleComposanteVentilation.TableName = "tModeleVentilation" Dim key(0) As DataColumn key(0) = dtModeleComposanteVentilation.Columns(0) dtModeleComposanteVentilation.PrimaryKey = key Dim dtComposanteVentilation As DataTable = Francelot.Util.ToDataTable(BddArtisan, reqComposanteVentilation) With dtComposanteVentilation.Columns .Add("decPrixUnitaireHT", GetType(Decimal)) .Add("decTotalHT", GetType(Decimal)) End With dtComposanteVentilation.TableName = "tCompoVentilation" Dim ds As New DataSet ds.Tables.Add(dtModeleComposanteVentilation) ds.Tables.Add(dtComposanteVentilation) ds.Relations.Add("R", ds.Tables("tModeleVentilation").Columns("idModeleVentilationMarche"), ds.Tables("tCompoVentilation").Columns("idModeleVentilationMarche"), False) With whdgReponse .DataSource = ds .DataBind() End With End Sub Source Code :