Slt,
je viens vous exposer mon problème en espérant avoir un petit éclaircissement.
j'ai actuellement un DataSet avec une datatable contenant l'ensemble du contenu de la table correspondante dans la DB
j'essaye d'extraire X lignes de ce datatable et de les copier dans un autre Datatable afin de l'utilisé dans un combobox
j'ai en fait 2 combobox , l'un reduit le contenu de l'autre
il est important que je garde le contenu du 1er datatable complet pour la prochaine sélection.
j'ai essayé ces 2 solutions et j'obtiens 2 messages d'erreur différents...
j'obtiens le message : " Cette lignes appartient déjà à une autre table"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Dtt_extract = DTS_Dico.Tables("MaTable").Clone For Each r As DataRow In DTS_Dico.Tables("MaTable").Rows If r.Item("Moncritere") = MaCb.SelectedValue Then Dim ro As DataRow = Dtt_extract.NewRow ro = r Dtt_extract.Rows.Add(ro) End If Next
Bizarre je viens de la créer...
Peut être y a t il une référence dans la ligne copiée qui fais croire à la nouvelle qu'elle est déjà associée ailleurs ?
j'ai également essayer
au lieu de
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dtt_extract.ImportRow(ro)Et la je récupère toujours la premier ligne trouvée, jamais les suivantes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dtt_extract.Rows.Add(ro)
Seconde solution
Ici tout fonctionne bien je récupère bien mes X lignes correspondantes à mon critère, le problème est le i+=1 qui arrive en dehors de la limite lorsque mon critère n'est plus trouvé...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Dtt_extract = DTS_Dico.Tables("MaTable").Clone For Each r As DataRow In DTS_Dico.Tables("MaTable").Rows If DTS_Dico.Tables("MaTable").Select("MonCritere=" & MaCb.SelectedValue)(i).Item("MonCritere") = MaCb.SelectedValue Then Dtt_extract.Rows.Add(DTS_Dico.Tables("MaTable").Select("MonCritere=" & MaCb.SelectedValue)(i).ItemArray) End If i += 1 Next
Quelqu'un aurai une autre idée ou pourrait me dire comment amélioré l'une de ces 2 boucles ?
Merci.![]()
Partager