ListView Datei mit OpenFileDialog öffnen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    ListView Datei mit OpenFileDialog öffnen

    Hallo zusammen,

    ich beschäftige mich sei einigen Wochen mi VB und habe angefangen ein kleines Projekt zu erstellen in dem ich CSV Dateien in einem ListView anzeige. Grundlegend funktioniert alles. Bisher habe ich die Dateien über einen festen Pfad laden lassen

    VB.NET-Quellcode

    1. ListViewLoad(ListView1, "C:\ordner\datei.csv")


    Nun möchte ich allerdings die Datei frei wählbar machen, also mit einem OpenFileDialog, nur irgendwie finde ich nichts was es mir wirklich so erklärt das auch ich es raffe. Kann mir evtl. jemand von euch helfen?


    lg Norman
    Füge einen Openfiledialog deiner Form hinzu, stelle den Filter ein, rufe zur gegebenen Zeit die Methode OFD.ShowDialog() auf und nimm den Inhalt der Property FileName als Pfad.
    Willkommen im Forum. :thumbup:
    Sieh Dir mal dies an:

    VB.NET-Quellcode

    1. Dim lines() As String
    2. Using dlg As New OpenFileDialog
    3. dlg.Filter = "Texte|*.txt|alle Dateien|*.*"
    4. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    5. Return
    6. End If
    7. lines = System.IO.File.ReadAllLines(dlg.FileName)
    8. End Using
    9. ' mit lines was anstellen
    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!

    RodFromGermany schrieb:

    VB.NET-Quellcode

    1. Dim lines() As String
    2. Using dlg As New OpenFileDialog
    3. dlg.Filter = "Texte|*.txt|alle Dateien|*.*"
    4. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    5. Return
    6. End If
    7. lines = System.IO.File.ReadAllLines(dlg.FileName)
    8. End Using
    9. ' mit lines was anstellen

    Erstmal danke für die Antwort :) Sowas in der Art habe ich auch schon gefunden, allerdings wie übergebe ich nun den Datei Inhalt an die ListBox? Genau das ist der Punkt an dem ich derzeit hänge. Filter usw. habe ich alles schon eingestellt und es in eine Try Catch Schleife gesetzt, damits mir nicht absäuft. Nun hapert es immer noch daran das ich nicht weiß wie ich nun den Inhalt der CSV Datei über den OFD an die ListView übergeben kann, damit diese auch das tut was Sie soll. Den Inhalt der Datei anzeigen.

    VB.NET-Quellcode

    1. Dim lines() As String
    2. Using dlg As New OpenFileDialog
    3. dlg.Filter = "Texte|*.txt|alle Dateien|*.*"
    4. If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
    5. Return
    6. End If
    7. lines = System.IO.File.ReadAllLines(dlg.FileName)
    8. End Using
    9. Dim bla as ListViewItem = new ListViewItem
    10. bla.add(lines)
    11. ListView1.Items.Add(bla)


    so in der art.........

    normanfly schrieb:

    lines = System.IO.File.ReadAllLines(dlg.FileName)
    Diese Zeile liest die Datei ein. Jetzt überlege einmal, wie du an den Dateinamen rankommst?
    Richtig!
    Du musst dlg.FileName verwenden, um auf den Dateinamen zuzugreifen! Und wo kommt der Dateiname jetzt in deinem ursprünglichen Code vor? Den musst du dann einfach durch dlg.Filename ersetzen. Fertig :thumbup:

    normanfly schrieb:

    und es in eine Try Catch Schleife gesetzt
    Was soll das?
    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!