ListView Item

  • VB.NET

Es gibt 23 Antworten in diesem Thema. Der letzte Beitrag () ist von toto.

    ListView Item

    Hallo an alle,

    ich google seit 2 Tagen und finde nichts das zu mein Projekt passt.

    Ich habe ein ListView mit daten gefüllt. 5 Spalten. Name, extension, pfad, size und MD5.

    Die Daten sind nach der Endung bunt gemicht: .txt, .doc, .mp3 usw.

    Jetzt möchte ich die Daten so filtern das z.B. nur die .doc im ListView zu sehen sind.

    Die gesuchte Endung steckt in ein ComboBox.

    Das habe ich mir zusammen gereimt, kommt aber nur die Meldung aus der MsgBox: Keine Datei mit der Endung...gefunden.

    VB.NET-Quellcode

    1. Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    2. Dim Extensions As String
    3. Dim counter As Int16 = 0
    4. 'LVSong.Items.Clear()
    5. For i = 0 To LVSong.Items.Count - 1
    6. If Extensions = ComboBox1.Text.ToLower Then
    7. If LVSong.Items.ToString.EndsWith(Extensions) Then
    8. LVSong.Items.Clear()
    9. counter += 1
    10. LVSong.Items.Add(i)
    11. End If
    12. End If
    13. Next
    14. If counter = 0 Then
    15. MessageBox.Show("Keine Datei mit der Endung: " & ComboBox1.Text & " gefunden")
    16. End If
    17. Label5.Text = LVSong.Items.Count & " Datei(en)"
    18. End Sub


    Ich hoffe das jemanden ein Tipp für mich hat.
    lg
    toto
    lg toto
    Hi Toto, vielleicht hilft ein .ToLower:

    VB.NET-Quellcode

    1. If LVSong.Items.ToString.ToLower.EndsWith(Extensions.ToLower) Then
    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!
    Hi Rod,
    schön von dir zu höhren,

    hilft leider nicht, immer nur diese meldung.

    mal was anders, im Combo sind die Endungen so aufgelistet:

    .doc
    .txt
    .mp3 usw.

    oder sollen mit einen Stern versehen:

    *.doc
    *.txt
    *.mp3

    Spielt es überhaupt eine Rolle?
    lg

    toto

    Muss ich dazu sagen:

    VB.NET-Quellcode

    1. If Extensions = ComboBox1.Text.ToLower Then


    Extension grün unterstrichen
    lg toto
    Wnn Du mit EndsWith() testest, darf der "*" nicht davor stehen, denn dann sucht er ja "*.doc", die Datei heißt aber "Müller.doc".
    EndsWith() weiß nichts vom Dateisystem.
    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!
    Setz da mak einen Haltepunkt drauf.
    Kann sein, das da nix zugewiesen ist.
    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!
    Die Extensions-Variable wird verwendet, bevor ihr ein Wert zugewiesen wird. Zur Laufzeit kann eine Nullverweisausnahme auftreten.

    Das ist die Meldung

    Habe evtll. Extensions falsch deklariert?
    lg toto

    VB.NET-Quellcode

    1. Dim Extensions As String
    2. ' ->
    3. Dim Extensions As String = "bla"
    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!
    Die Extensions-Variable wird verwendet, bevor ihr ein Wert zugewiesen wird. Zur Laufzeit kann eine Nullverweisausnahme auftreten.


    nicht schlimm, ignoriers einfach..wenn strört dann:

    VB.NET-Quellcode

    1. Dim Extensions As String = ""
    Hallo Alex, dir auch eine schöne abend,
    Hab jetzt so geändert,

    VB.NET-Quellcode

    1. Dim Extensions As String = ComboBox1.Text.ToLower
    2. Dim counter As Int16 = 0
    3. 'LVSong.Items.Clear()
    4. For i = 0 To LVSong.Items.Count - 1
    5. If LVSong.Items.ToString.ToLower.EndsWith(Extensions.ToLower) Then
    6. LVSong.Items.Clear()
    7. counter += 1
    8. LVSong.Items.Add(i)
    9. End If
    10. Next
    11. If counter = 0 Then
    12. MessageBox.Show("Keine Datei mit der Endung: " & ComboBox1.Text & " gefunden")
    13. End If
    14. Label5.Text = LVSong.Items.Count & " Datei(en)"


    keine Fehler, keine Meldungen, keine Warnungen nur die MsgBox.
    Es ist zum verzweifeln.
    lg toto
    setz in die Zeile

    VB.NET-Quellcode

    1. If LVSong.Items.ToString.ToLower.EndsWith(Extensions.ToLower) Then
    einen Haltepunkt und verfolge die Variablen.
    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!
    Im Einzelschritt:

    von: If LVSong.Items.ToString.ToLower.EndsWith(Extensions.ToLower) Then

    springt zu: End If

    dann springt zu: Next und das sooft wie die Liste lang ist. (habe auf 10 item reduziert).


    dann springt zu: MsgBox.

    Das:
    LVSong.Items.Clear()
    counter += 1
    LVSong.Items.Add(i)

    wird komplett übergangen.
    lg toto
    bitte brauche ein wenig Zeit, probiere es gerade aus.

    Hallo Alex, funzt prima, aber ich kann nur eine Endung wählen, und zwar im Modul:

    VB.NET-Quellcode

    1. For Each Files In System.IO.Directory.GetFiles(Root, ComboBox2.Text)


    habe "*.exe" mit ComboBox2.Text ersezt.
    Haut nicht hin, weil ComboBox2 nicht deklariert ist, obwohl auf der Form ist.
    Muss mir was überlegen.

    Die andere zwei:
    visual-basic5.de/Alexandra.Pr…et/dngallty.htm
    vbarchiv.net/tipps/tipp_617-a…teln-vbnet.html

    habe schon gesehen, nicht gut, weil ihre daten aus den Sistem.IO.GetFiles beziehen.
    meine Daten sind schon im ListView

    Aber der erste beispiel ist interessant.
    melde mich morgen und berichte.

    Danke Alex.

    @Rod, danke dir auch, für deine Hilfe, vielleicht hören wir nochmal voneinander.

    lg

    toto
    lg toto

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

    ich sags gelegentlich: ListView taugt nicht zur Datenverarbeitung.

    mit typisiertem Dataset könntest du einfach einen Filter setzen und fertig.

    Oder noch bischen einfacher ein ParentChildView basteln, ähnlich DB-Programmierung ohne Datenbank.
    Beachte dort, wie die rechte Tabelle immer umspringt, wenn man links eine annere Kategorie wählt.
    Das Links könnte ebensogut eine Combo sein, die die Datei-Endungen anzeigt.
    Hallo Erfinder, du auch noch unterwegs?

    Wie gesagt, muss leider weg, probiere morgen dein Tipp auch.
    bitte nicht weiter antworten, bin morgen wieder da.

    Danke an alle.

    lg

    toto

    @Alex, habe ich, die Controls habe selbst auf die Form gezogen, nur die Prozeduren kopiert.
    lg toto
    ComboBox2 wurde nicht deklariert. MIST. Es ist da, auf der Form.


    Schau in Eigenschaffenster unter Name wie der ComboBox dort bezeichnet und dann schau in code, ob du steuerelement mit gleichen namen wie in Eigenschaftfenster unter "Name" ansprichst.

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