Avatar billede peter_svendsen Nybegynder
03. februar 2005 - 12:20 Der er 2 kommentarer og
1 løsning

Slette rækker i DataTable

Jeg har et Strongly typed DataSet, hvor jeg vil slette de rækker der opfylder et kriteria.

Jeg har prøvet noget med en opbygning som vist nedenfor:

For Each dr in dt
  if temp = "hej" then
    dr.delete
  End If
Next

Problemet er at jeg ved at bruge delete går ind og ændre mit dt, hvilket gør løkken ugyldig.

Får følgende fejlbesked i sidste række inden Next:
An unhandled exception of type 'System.InvalidOperationException' occurred in mscorlib.dll

Additional information: Collection was modified; enumeration operation may not execute.
Avatar billede peter_svendsen Nybegynder
03. februar 2005 - 12:39 #1
Har lavet en midlertidig løsning hvor jeg gemmer rækkenummeret i et array og bagefter løber arrayet igennem, for at slette dem, det er bare en temmelig grim løsning, så jeg er stadig meget interesseret i at høre hvilke muligheder der er.
Avatar billede jepsen999 Nybegynder
03. februar 2005 - 18:06 #2
Prøv med
        Dim dr As DataRow
        Dim dt As DataTable

        Dim i As Integer = 0
        While i < dt.Rows.Count
            dr = dt.Rows(i)
            If temp = "hej" Then
                dr.Delete()
            Else
                i = i + 1  'tæl kun op hvis der ikke slettes en række
            End If
        End While
Avatar billede peter_svendsen Nybegynder
04. februar 2005 - 15:59 #3
Simpelt, men virker... lige hvad jeg havde håbet på.

Takker for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester