Bonjour

J'etais entrain de tester une requete Linq dans VB, ma requete et la suite :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Dim query = From agents1 In agents.AsEnumerable() _
                 Where agents1.Field(Of String)("lieu")="Kolwezi" _ 
                 select agents1
 
Dim table1 as DataTable=query.CopyToDataTable()
ça marche très bien

mais si je selectionne maintenant même deux colonnes seulement et la requête devient la suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Dim query = From agents1 In agents.AsEnumerable() _
                 Where agents1.Field(Of String)("lieu")="Kolwezi" _ 
                 select New {
                                  .Matricule=agents1.Field(Of String)("matricule) _
                                  .Nom=agents1.Field(Of String)("nom) _
                                  .Lieu=agents1.Field(Of String)("lieu) _
                                  }
 
Dim table1 as DataTable=query.CopyToDataTable()
j'ai un message d'erreur qui dit :
‘CopyToDataTable is not a member of Système.Data.EnumerableRowCollection(of <anonumous type>)’.
Et quand j’essaie d’afficher ça dans une zone de liste ça marche. Comment faire pour affecter ces données dans un objet DataTable ?

Merci