Zum Inhalt springen

DataTable sortieren| VB.net


Sarene

Empfohlene Beiträge

Ja stimmt schon.

Allerdings sitze ich jetzt wieder vor einem ähnlichen Problem.

Ich habe die DataTable über das DataView sortiert. (Das sehe ich auch, wenn ich das DataView im Browser ausgebe)

Nun will ich diese Inhalte in eine XML-Datei schreiben.

Die Ausgabe erfolgt sortiert,...aber in der XML -Datei stehen sie wieder unsortiert.

Siehe Code..ich schreibe die Daten über die DataTable in die XML -Datei (rote Schrift)

Anscheinend kann ich den Inhalt der Dataview nicht einfach so in die DataTable schreiben??

*VERWIRRT*:confused:



[COLOR="RoyalBlue"]Dim[/COLOR] tabelle [COLOR="RoyalBlue"]As[/COLOR] DataTable

tabelle = DataTable_XML() 


[COLOR="RoyalBlue"]Dim[/COLOR] dtview [COLOR="RoyalBlue"]As DataView[/COLOR] = tabelle.DefaultView

dtview.Sort = "deutsch_begriff,englisch_begriff DESC"

tabelle = dtview.Table


[COLOR="SeaGreen"]

'Hier werden die XML_Elemente erzeugt[/COLOR]

[COLOR="RoyalBlue"]For[/COLOR] ih = 0 [COLOR="RoyalBlue"]To[/COLOR] tabelle.Rows.Count - 1

      xmlEleItem2 = xmlDocu.CreateElement("Begriff")

      xmlEleDeutsch2 = xmlDocu.CreateElement("deutsch_begriff")

      xmlEleEnglisch2 = xmlDocu.CreateElement("englisch_begriff")


[COLOR="Red"]xmlTextDeutsch =xmlDocu.CreateTextNode(tabelle.Rows(ih).Item(0).ToString)

xmlTextEnglisch =xmlDocu.CreateTextNode(tabelle.Rows(ih).Item(1).ToString)[/COLOR]


      xmlEleDeutsch2.AppendChild(xmlTextDeutsch)

      xmlEleEnglisch2.AppendChild(xmlTextEnglisch)


      xmlEleItem2.AppendChild(xmlEleDeutsch2)

      xmlEleItem2.AppendChild(xmlEleEnglisch2)


      xmlDocu.DocumentElement.AppendChild(xmlEleItem2)


[COLOR="RoyalBlue"]Next[/COLOR]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Sollte deine DataTable von ner DB befüllt werden, versuch die Sortierung SQL seitig zu lösen, ist einfacher :D

Falls nicht: Wenn ich es richtig verstehe, sortierst du ja nur die Ausgabe / Anzeige der DataTable, indem du das DataView sortieren lässt. Falls ich nicht falsch liege (hab hier keine Möglichkeit zum Testen grad :D), bleibt der Inhalt der DataTable davon unberührt :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Falls nicht: Wenn ich es richtig verstehe, sortierst du ja nur die Ausgabe / Anzeige der DataTable, indem du das DataView sortieren lässt. Falls ich nicht falsch liege (hab hier keine Möglichkeit zum Testen grad :D), bleibt der Inhalt der DataTable davon unberührt :)

Das stimmt.

Das Konzept ist ähnlich eines SQL-Servers (Table, View), wenn du da eine View änderst, werden ja auch nicht die Primärschlüssel in der Tabelle geändert.

[Edit]

Man könnte ja jetzt einfach die Zeilen der View (und nicht der Tabelle) iterieren.

Bearbeitet von TDM
Link zu diesem Kommentar
Auf anderen Seiten teilen

Das mit SQL werd ich mir merken...

ich habe eigentlich gemeint, dass ich ein DataView mit einem DataTable fülle-->Das Dataview wird sortiert und anschließend sollen die Inhalte des Dataview SORTIERT in die DataTable übertragen werden.

Ich habe es wie folgt gelöst:

Dim tabelle As DataTable

tabelle = DataTable_XML() 'hier wird der Inhalt für die DataTable erzeugt

Dim view As DataView = tabelle.DefaultView

view.Sort = "deutsch_begriff,englisch_begriff" ' Inhalt wird sortiert

Dim newTable As DataTable = view.ToTable("XML_Tabelle",

True, "deutsch_begriff", "englisch_begriff") 'neue DataTable mit sortiertem Inhalt

Hier war der Schlüsselbegriff .ToTable("Tabellenname",Wahrheitswert,"Spalte1","Spalte2")...das heißt die Daten werden 1:1 rüberkopiert...

klappt wunderbar jetzt :-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...