[Hilfe]Suchfunktion

  • Allgemein

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von SystemUnknow.

    [Hilfe]Suchfunktion

    Hallo,

    Ich brauche eine suchfunktion...

    Es soll ca so aussehn:


    Das wenn ich bei 1 z.B. "Hund" eingebe das rechts dan aus eine liste was raus gesucht wird
    in der liste solln halt mehrere Wörter abgespeichert sein z.B. so:
    Hund
    Handy
    Computer
    ...

    Am besten das wen man nur "Com" oder "Han" das dan das wort rechts schon bei 2 angezeigt wird...


    Ich hoffe ihr versteht was ich will :D

    Bin Anfänger :)
    Hallo!

    Du kannst dich z.b. mal mit Hilfe von Google schlau machen indem du nach "VB Filterfunktion" oder ähnlichem suchst denn du willst ja durch Feld 1, Feld 2 filtern sodass nur die zutreffenden Ergebnisse in der Liste gezeigt werden, wenn ich das richtig verstehe.
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.

    VB.NET-Quellcode

    1. Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    2. ComboBox1.Items.Clear()
    3. Dim s As String = TextBox1.Text
    4. For i As Integer = 0 To ListBox1.Items.Count - 1
    5. If ListBox1.Items(i).ToString.Contains(s) Then
    6. ComboBox1.Items.Add(ListBox1.Items(i).ToString)
    7. ComboBox1.Text = ListBox1.Items(i).ToString
    8. End If
    9. Next
    10. End Sub


    sowas?

    e: habs bissl verbessert

    edit2: Ich würds aber besser mit Regulären Ausdrücken machen (RegEx)..

    codeproject.com/Articles/9099/The-30-Minute-Regex-Tutorial

    warum? Hast mehr möglichkeiten und es ist eigntl. auch simpler (z.B. Groß-Kleinschreibung nicht beachten usw)

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

    Ich weiss nicht wie du die Listbox füllen willst ich hab jetzt einmal über einen Button und ein Textfeld gelöst:

    VB.NET-Quellcode

    1. Option Strict On
    2. Option Explicit On
    3. Public Class Form1
    4. Dim Werte As New ArrayList
    5. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
    6. System.EventArgs) Handles Button1.Click
    7. Dim WertAusTextBox As String
    8. WertAusTextBox = CStr(CStr(TextBox1.Text))
    9. Werte.Add(WertAusTextBox)
    10. 'ListBox leeren
    11. ListBox1.Items.Clear()
    12. 'Werte sortieren und in ListBox füllen
    13. 'sortieren
    14. Werte.Sort()
    15. 'ListBox(füllen)
    16. ListBox1.Items.AddRange(Werte.ToArray)
    17. TextBox1.Text = ""
    18. TextBox1.Focus()
    19. End Sub
    20. End Class


    Du erstellst somit mit einem Klick auf den Button einen Eintrag in der Listbox.
    Anschließend kannst du ja auch über eine zweite Textbox filtern.
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.

    unknown identity schrieb:

    Schleifen, IF-Abfragen(Contains) evtl?

    Ist das ganze in einer ListBox gespeichert?

    unknown identity schrieb:

    VB.NET-Quellcode

    1. Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    2. ComboBox1.Items.Clear()
    3. Dim s As String = TextBox1.Text
    4. For i As Integer = 0 To ListBox1.Items.Count - 1
    5. If ListBox1.Items(i).ToString.Contains(s) Then
    6. ComboBox1.Items.Add(ListBox1.Items(i).ToString)
    7. ComboBox1.Text = ListBox1.Items(i).ToString
    8. End If
    9. Next
    10. End Sub


    sowas?

    e: habs bissl verbessert



    Mh... nunja es sollen halt mehrere sachen in einer lise irgendwie stehen und über ein textfelt soll links das dan stehen was man sucht...

    Halt eine ganz normale suchfunktion....

    wie wenn man in einen .txt datei mehrere wörter hat man auf Suchen geht und den anfang von den Worts eingibt und dan wird das markiert oder angezeigt...
    @kinsi
    siehst du jetzt weiß ich es auch besser ;) Danke für den Tipp!

    Frage @unknown identity mich interessiert das jetzt aber auch :)

    Du filterst jetzt in der ComboBox direkt beim Tippen oder?
    Wenn ich zum Filtern anstatt einer ComboBox eine TextBox nehme könnte ich auch die ListBox
    dadurch einfach filtern?
    Wer fragt, ist ein Narr für eine Minute. Wer nicht fragt, ist ein Narr sein Leben lang.
    Bist du analphabet?

    VB.NET-Quellcode

    1. Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    2. ComboBox1.Items.Clear()
    3. For i As Integer = 0 To ListBox1.Items.Count - 1
    4. If ListBox1.Items(i).ToString.Contains(TextBox1.Text) Then
    5. ComboBox1.Items.Add(ListBox1.Items(i).ToString)
    6. ComboBox1.Text = ListBox1.Items(i).ToString
    7. End If
    8. Next
    9. End Sub


    Habs BspProjekt mal hochgeladen

    Aber wie gesagt ich würde lieber RegEx verwenden mit IgnoreCase usw...

    edit: und die funktion war auch nur ein beispiel für dich und ist nicht gut ausgearbeitet..
    Dateien
    • Suchfunktion.rar

      (55,17 kB, 117 mal heruntergeladen, zuletzt: )
    Das wenn ich bei 1 z.B. "Hund" eingebe das rechts dan aus eine liste was raus gesucht wird
    in der liste solln halt mehrere Wörter abgespeichert sein z.B. so:
    Hund
    Handy
    Computer


    Du kannst ListView, DataGridView, Listbox, ComboBox, DataGrid nemen, und darin suchen und ergebnisse in TextBoxen/Labels oder etc anzeigen lassen. Speichern auch kein problem, in forum findest jede menge links. 8-)