Export als .csv oder .xml speichert keine Spalten.

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von sonne75.

    Export als .csv oder .xml speichert keine Spalten.

    Hallo,
    mit einer Lokalen Datenbank die 1 Tabelle namens Kunden hat, füge ich Spalten(Columns) hinzu. Ich stelle es in einem DataGridView da, doch wenn ich es aus diesem DGV nun als .xml oder .csv Speichere Verschwinden die Spalten(Columns). Muss ich anstatt Spalten(Columns) Reihen(Rows) nehmen, da die Spalten das sind, was Excel das A, B, C usw. darstellt?
    Vergiss mein Ersten post völliger schwach sin. Also mit

    VB.NET-Quellcode

    1. KundenDataSet1.kundendaten.Columns.Add("Name")

    füge ich die Spalte hinzu, im DGV bekomme ich das so Angezeigt, doch nicht wenn ich es Speicher.
    Dataset-Designer hab ich noch nicht gehört. Komischerweise ging es Heute mittag so wie ich es gemacht habe, deswegen wunderts es mich das es nichtmehr geht. Mein vorhaben ist es eine Kundentabelle anzulegen. Sprich Firma, Name usw. Diese möchte ich Extern Speichern. Als .xml oder Optional als .csv.

    Edit:

    Ich füge z.B. zum DGV eine Spalte hinzu

    VB.NET-Quellcode

    1. dgv1.Columns.Add("Anrede/Firma", "Anrede/Firma")

    speicher es als .csv, doch diese Datei ist leer.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „keydrow“ ()

    nanu - wie kommst du an ein typisiertes Dataset, ohne je den Dataset-Designer gesehen zu haben? guggemol Daten laden, speichern, verarbeiten oder vier Views, bes. 1. Filmle

    eng @Topic:
    tja - hier fügst du vmtl. tatsächlich einem DGV eine Column zu.
    Abspeichern tust du aber nachwievor ein Dataset.
    Wie ich daruaf komme? Ich hatte eine vorstellung von meinem Programm und dachte mir ich Versuche es erstmal so :P hat ja wohl nicht hingehauen :). Danke für die Antwort ich kucks mir ma an.

    Edit:
    Also kann ich einem DatenSet keine Spalten nachträglich hinzufügen? Dataset-Designer hab ich natürlich schon verwendet war mir nur kein begriff gestern :S. Also Abspeichern tu ich so:

    VB.NET-Quellcode

    1. Dim pfad As String = "D:\Benutzer\Marvin\Documents\Visual Studio 2012\Projects\Factory\bin\Debug\test.csv"
    2. Private Sub DataGrid_Speichern()
    3. Dim Liste As String = Nothing
    4. Dim count As Integer = dgv1.Rows.Count
    5. For i = 0 To count - 1
    6. Dim ColumCount As Integer = dgv1.ColumnCount - 1
    7. Dim Eintrag As String = Nothing
    8. For g = 0 To ColumCount
    9. If Not g = ColumCount Then
    10. Eintrag += CStr(dgv1.Rows(i).Cells(g).Value) & ";"
    11. Else
    12. Eintrag += CStr(dgv1.Rows(i).Cells(g).Value)
    13. End If
    14. Next g
    15. Liste += Eintrag & vbCrLf
    16. Next i
    17. Try
    18. IO.File.WriteAllText(pfad, Liste)
    19. Catch ex As Exception
    20. MessageBox.Show(ex.ToString)
    21. End Try

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „keydrow“ ()

    Jap hab speicher als xml mit

    VB.NET-Quellcode

    1. datenset.kunden.WriteXml(pfad)

    oder

    VB.NET-Quellcode

    1. datenset.WriteXml(pfad)

    ich habe nur die csv Methode gepostet weil ich dachte Dort ist ein Fehler drin.

    Edit

    Ich glaube das Problem liegt dort, das der Tabelle im DatenSet keine Spalten hinzugefügt werden. Das komische an der ganzen Sache ist, dass ich mit

    VB.NET-Quellcode

    1. datenset.kunden.Columns.Add("Testspalte")

    eine Spalte Hinzufüge und dann mit

    VB.NET-Quellcode

    1. dgv1.DataSource = datenset.kunden

    das DatenSet in das DGV Lade. Dort wird auch die Spalte Angezeigt jedoch wird sie nicht im DatenSet gespeichert. Habe ich das Gefühl.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „keydrow“ ()

    Also das ist mein Code(Teil davon):
    dgv1 = DataGridView

    VB.NET-Quellcode

    1. Dim pfad As String = "D:\Benutzer\Marvin\Documents\Visual Studio 2012\Projects\Factory\bin\Debug\test.xml"
    2. Private Sub btn_erstellen_Click_1(sender As Object, e As EventArgs) Handles btn_erstellen.Click
    3. dgv1.Columns.Add("Anrede", "Anrede")
    4. End Sub
    5. Private Sub btn_speichern_Click(sender As Object, e As EventArgs) Handles btn_speichern.Click
    6. datenset.WriteXml(pfad)
    7. End Sub

    Der Inhalt der .xml Datei

    XML-Quellcode

    1. <?xml version="1.0" standalone="yes"?>
    2. <daten xmlns="http://tempuri.org/daten.xsd" />
    Mir ist aufgefallen das ich eigentlich kein DataSet brauche, da ich es direckt im DGV machen kann und dann als xml Abspeichern kann. Doch das Problem Besteht immer noch, das die Datei nicht "richtig" speichert.
    also ich fühl mich hier veräppelt.
    andauernd wechselst du deinen GurkenCode von Dataset-Columns-Add nach DGV-Columns-Add. und vom im DGV durchbuddeln->csv nach Dataset->xml, und nu tuste DGV->Xml.

    Sodass sich meine Antworten immer auf iwas beziehen, was garkeine Gültigkeit mehr hat.

    ich bin draußen :cursing:
    Ich Versteh garnix mehr O.o. Also wenn ich mit
    kunden = DataTabel mit keinen Spalten

    VB.NET-Quellcode

    1. datenset.kunden.Columns.Add("Testspalte")

    eine Spalte hinzufüge, lasse ich sie mit mir

    VB.NET-Quellcode

    1. dgv1.DataSource = datenset.kunden

    Anzeigen. Danach Versuche ich die DataTabel als .xml zu Speicher mit

    VB.NET-Quellcode

    1. datenset.kunden.WriteXml(pfad)

    pfad ist der Dateipfad den ich Vorher als String angegeben habe.
    Ergebnis in der XML Datei:

    XML-Quellcode

    1. <?xml version="1.0" standalone="yes"?>
    2. <daten xmlns="http://tempuri.org/daten.xsd" />

    Warum ist das so? Warum ist die xml Datei leer wenn ich doch im DGV Angezeigt kriege das die Spalten existieren wenn ich sie in der DataTabel hinzufüge? Das ist meine eigentliche Frage. Das mit dem DGV habe ich direck versucht weil ich was missverstanden habe.