Schwierigkeiten bei ListViewSave

  • VB.NET
  • .NET (FX) 4.0

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von MonitorParty.

    Schwierigkeiten bei ListViewSave

    Hallo Leute,

    ich habe von einer Bekannten die Aufgabe bekommen, eine Tabellensoftware für Latein zu coden. Nun habe ich allerdings Schwierigkeiten mit ListViewSave und ListViewLoad. Die Daten, die in der ListView drinnen sind, sollen in einer txt oder in einer csv datei gespeichert werden. Allerdings möglichtst mit einem savefiledialog. Und Laden der dateien am besten mit einem openfiledialog. Ich habe einen Code für das LIstviewloafd und fürs listviewsave von einem anderen user dieser seite. Speichern und laden soll man mit Buttons.

    Quellcode

    1. Public Function ListViewSave(ByRef LstVw As ListView, ByVal Path As String)
    2. Dim ListViewContent As String = ""
    3. For I As Integer = 0 To LstVw.Items.Count - 1
    4. ListViewContent += LstVw.Items.Item(I).Text & "##"
    5. For Int As Integer = 0 To LstVw.Items.Item(I).SubItems().Count - 1
    6. ListViewContent += LstVw.Items.Item(I).SubItems(Int).Text & "##"
    7. Next
    8. ListViewContent += vbNewLine
    9. Next
    10. If System.IO.File.Exists(Path) Then
    11. System.IO.File.Delete(Path)
    12. End If
    13. System.IO.File.AppendAllText(Path, ListViewContent)
    14. End Function

    Das ist der ListView save

    Quellcode

    1. Public Function ListViewLoad(ByRef LstVw As ListView, ByVal Path As String)
    2. Dim sLine As String
    3. Dim sItem() As String
    4. Dim ItemX As ListViewItem
    5. Dim IntCols As Integer
    6. IntCols = LstVw.Columns.Count
    7. FileOpen(1, Path, OpenMode.Input)
    8. With LstVw.Items
    9. While Not EOF(1)
    10. sLine = LineInput(1)
    11. sItem = Split(sLine, "##")
    12. ItemX = .Add(sItem(0), sItem(1))
    13. For I = 2 To IntCols
    14. ItemX.SubItems.Add(sItem(I))
    15. Next I
    16. End While
    17. End With
    18. FileClose(1)
    19. End Function


    Und das der Load.

    Wie mache ich das mit einem Butten und einem SaveFileDialog bzw einem Openfiledialog?

    LG

    MonitorParty
    Willkommen im Forum. :thumbup:

    MonitorParty schrieb:

    Wie mache ich das
    Am besten, Du schmeißt alles, was Du bisher gemacht hast, über den Haufen und beginnst mit einer ordentlichen Beschreibung aller Deiner Teilaufgaben.
    Fang an und nimm ein DataGridView (ListView ist out).
    Nimm eine DataTable und schreib dort Deine Daten rein. Dieses kannst Du einmal per .DataSource an das DataGridView binden, zum anderen hat die DataTable Methoden zum Speichern und Laden in einer XML-Datei.
    Sieh Dir mal dieses Beispiel an.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Doch sicher.
    Aber wurde schon gesagt: Listview ist ein minderwertiger Ansatz, und wenn du den weiter verfolgst, erstellst du ein minderwertiges Programm.

    Das wird dir niemand empfehlen oder erklären wollen, es sei denn, er weiß es selbst nicht besser.

    Also stell dich den Problemen, die du mit DataTable & Co haben magst (und bei Fragen fragen) - da lernst du was, was dir auch weiterhin von Nutzen sein kann.
    @ErfinderDesRades Jou.
    Hör einfach auf, über ein

    MonitorParty schrieb:

    ListView
    nachzudenken.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!