listview spalten speichern und laden

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von ChaosBernd.

    listview spalten speichern und laden

    Hallo,ich arbeite an einem programm....es hat eine listview und 4 texboxen und ein button so mit den 4 textboxen und dem button füge ich der listview die items zu....jetzt will ich die listview in einer datei speichern und bem nächsten start soll die listview die datei lesen und die items wieder hinzufügen.....
    weiss einer wie das geht?ich habe den code dort wird aber immer nur die erste spalte gespeichert...wie bekomme ch das hin das alle spalten gespeichert werden?? + laden?


    Danke im vorraus :)
    eigentlich wollte ich den auch hinzufügen habe aber vergessen :/

    ---------

    VB.NET-Quellcode

    1. Public Class produkt 'Private myFileInfo As New IO.FileInfo("C:\Settings\Productview\ListeN.txt")
    2. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Me.Hide() main.Show() End Sub
    3. Private Sub produkt_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. End Sub
    5. Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click ListView1.Items.Add(New ListViewItem(New String() {(Textname.Text), (Textpreis.Text), (Textanzahl.Text), (Textmindest.Text)})) End Sub Private Sub cmdSave_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles cmdSave.Click
    6. ' ListBox speichern Dim sFile As String
    7. sFile = Application.StartupPath & "\Liste.dat" ListView_Save(ListView1, sFile) End Sub
    8. Private Sub cmdClear_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles cmdClear.Click
    9. ' Inhalt der ListBox löschen ' (dient nur zur besseren Demonstration) ListView1.Items.Clear() End Sub
    10. Private Sub cmdRead_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles cmdRead.Click
    11. ' ListBox einlesen Dim sFile As String
    12. sFile = Application.StartupPath & "\Liste.dat" ListView_Read(ListView1, sFile)
    13. End Sub Public Sub ListView_Save(ByVal Listview As ListView, _ ByVal sFile As String)
    14. ' Inhalt einer ListBox speichern Dim oStream As IO.StreamWriter Dim i As Short
    15. oStream = New IO.StreamWriter(sFile)
    16. For i = 0 To Listview.Items.Count - 1 oStream.WriteLine(Listview.Items(i)) Next oStream.Close() End Sub
    17. Public Sub ListView_Read(ByVal listview As ListView, _ ByVal sFile As String)
    18. ' Inhalt einer ListBox speichern Dim oStream As IO.StreamReader Dim sLine As String
    19. ' ListBox löschen listview.Items.Clear()
    20. ' Existsiert die Datei? Dim oFile As New IO.FileInfo(sFile)
    21. If oFile.Exists() = True Then oStream = New IO.StreamReader(sFile) ' Datei zeilenweise auslesen Do sLine = oStream.ReadLine() If IsNothing(sLine) Then Exit Do listview.Items.Add(sLine) Loop oStream.Close() End If End Sub
    22. Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click
    23. End Sub
    24. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    25. End SubEnd Class

    --------

    es tut mir leid aber ich weiss nciht wo man diese vb codes macht...
    hier aber ncoh mal das ganze in einer textdatei
    so bitte....
    mfg Niklas
    Dateien
    • listview.txt

      (2,88 kB, 220 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Niklas37Pro“ ()

    Ich möchte dich nicht ärgern.

    Aber jetzt räum bitte den Code so auf das er für jeden leserlcih ist.
    Wenn sich hier jemand die Mühe machen soll dir zu Helfen,
    mach du dir bitte die Mühe es für dein gegenüber so einfach wie möglich zu machen.

    es ist nur eine frage des anstand.

    so wie du in den Wald rufst......


    Ordentliche frage.... schnelle und ordentliche antwort.

    dank dir
    Im Editor hier im Forum ist über deinem Textfeld, wo du die frage eingibst, ein Button mit "VB".
    wenn du dort draufklickst, erscheint im Textfeld [VB VB].
    Genau dazwischen Kopierst du deinen Code rein.

    That's it !

    habe das mal für dich gemacht

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class produkt
    2. 'Private myFileInfo As New IO.FileInfo("C:\Settings\Productview\ListeN.txt")
    3. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    4. Me.Hide()
    5. main.Show()
    6. End Sub
    7. Private Sub produkt_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    8. End Sub
    9. Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAdd.Click
    10. ListView1.Items.Add(New ListViewItem(New String() {(Textname.Text), (Textpreis.Text), (Textanzahl.Text), (Textmindest.Text)}))
    11. End Sub
    12. Private Sub cmdSave_Click(ByVal sender As System.Object, _
    13. ByVal e As System.EventArgs) Handles cmdSave.Click
    14. ' ListBox speichern
    15. Dim sFile As String
    16. sFile = Application.StartupPath & "\Liste.dat"
    17. ListView_Save(ListView1, sFile)
    18. End Sub
    19. Private Sub cmdClear_Click(ByVal sender As System.Object, _
    20. ByVal e As System.EventArgs) Handles cmdClear.Click
    21. ' Inhalt der ListBox löschen
    22. ' (dient nur zur besseren Demonstration)
    23. ListView1.Items.Clear()
    24. End Sub
    25. Private Sub cmdRead_Click(ByVal sender As System.Object, _
    26. ByVal e As System.EventArgs) Handles cmdRead.Click
    27. ' ListBox einlesen
    28. Dim sFile As String
    29. sFile = Application.StartupPath & "\Liste.dat"
    30. ListView_Read(ListView1, sFile)
    31. End Sub
    32. Public Sub ListView_Save(ByVal Listview As ListView, _
    33. ByVal sFile As String)
    34. ' Inhalt einer ListBox speichern
    35. Dim oStream As IO.StreamWriter
    36. Dim i As Short
    37. oStream = New IO.StreamWriter(sFile)
    38. For i = 0 To Listview.Items.Count - 1
    39. oStream.WriteLine(Listview.Items(i))
    40. Next
    41. oStream.Close()
    42. End Sub
    43. Public Sub ListView_Read(ByVal listview As ListView, _
    44. ByVal sFile As String)
    45. ' Inhalt einer ListBox speichern
    46. Dim oStream As IO.StreamReader
    47. Dim sLine As String
    48. ' ListBox löschen
    49. listview.Items.Clear()
    50. ' Existsiert die Datei?
    51. Dim oFile As New IO.FileInfo(sFile)
    52. If oFile.Exists() = True Then
    53. oStream = New IO.StreamReader(sFile)
    54. ' Datei zeilenweise auslesen
    55. Do
    56. sLine = oStream.ReadLine()
    57. If IsNothing(sLine) Then Exit Do
    58. listview.Items.Add(sLine)
    59. Loop
    60. oStream.Close()
    61. End If
    62. End Sub
    63. Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click
    64. End Sub
    65. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    66. End Sub
    67. End Class


    Hier mal ein Beipiel wie man liest:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Sub Sender_Liste_Lesen()
    2. Form_Medien_Player.ListView_Radio.Items.Clear() ' Liste Clear
    3. Dim lines() As String = IO.File.ReadAllLines(My.Application.Info.DirectoryPath.ToString & "\SenderListe.cfg")
    4. Dim Menge As Integer = lines.GetLength(Menge) - 1 ' Anzahl der Zeilen ermitteln
    5. For i = 0 To Menge
    6. Dim Lied As String = lines(i)
    7. Dim parts() As String = Split(Lied, ";")
    8. LfNr = (parts(0)).ToString ' Laufende Nr
    9. Sender_Name = (parts(1)).ToString ' Sender Name
    10. Genre = (parts(2)).ToString ' Genre
    11. www_Name = (parts(3)).ToString ' www_Adresse
    12. Sender_an_Liste_Anfügen()
    13. Next i
    14. End Sub


    und eins wie man schreibt:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Sub Sender_Liste_Speichern()
    2. Dim dateiname As String = My.Application.Info.DirectoryPath & "\SenderListe.cfg"
    3. If File.Exists(dateiname) = True Then ' Wenn Datei Exestiert
    4. Try
    5. IO.File.Delete(dateiname)
    6. Catch
    7. End Try
    8. Dim Items_Count As Integer = Form_Medien_Player.ListView_Radio.Items.Count - 1
    9. Dim Alles_Zusammen As String
    10. For i = 0 To Items_Count ' Speichert Zeilenweise getrennt durch ;
    11. LfNr = Form_Medien_Player.ListView_Radio.Items.Item(i).Text
    12. Sender_Name = Form_Medien_Player.ListView_Radio.Items.Item(i).SubItems(1).Text
    13. Genre = Form_Medien_Player.ListView_Radio.Items.Item(i).SubItems(2).Text
    14. www_Name = Form_Medien_Player.ListView_Radio.Items.Item(i).SubItems(3).Text
    15. Alles_Zusammen = LfNr & ";" & Sender_Name & ";" & Genre & ";" & www_Name & vbCrLf
    16. ' Exestiert die Datei nicht wird sie erstellt, am ende auf True fügt Zeilenweise an, überschreibt nicht
    17. My.Computer.FileSystem.WriteAllText _
    18. (My.Application.Info.DirectoryPath.ToString & "\SenderListe.cfg", Alles_Zusammen, True)
    19. Next i
    20. Else : End If
    21. End Sub


    bevor du jetzt wie fragst....
    beschäftige dich mit dem Beispiel:


    danke dir
    Bernd