Wie man eine search-as-you-type textbox in einem DataGridView verwenden VB.NET
Habe ich angeschlossen mein DataGridView in eine Datenbank, aber ich kann nicht implementieren die Suche-Funktion.
Den Fluss des Programms wäre, wenn ich auf eine Spalte des DataGridView und ich geben Sie in das Suchfeld, kann ich nur die Ergebnisse erhalten, aus der gleichen Spalte, die nicht den anderen Spalten daneben.
Sollte es auch Buchstabe für Buchstabe suchen also im Grunde ein TextChanged-Ereignis aus.
- Klingt wie ein guter plan, könnte Sie uns zeigen, was du versucht hast?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist, wie ich es tun würde,
Ersten, zwei variable zum speichern Ihrer ursprünglichen datatable aus der Datenbank, und auch eine string-variable zum speichern Ihrer ausgewählten dgv-Spalte headertext (die verwendet werden, um die filter später).
Meinem test auf einige dummy-Daten
Dann fügen Sie eine ColumnHeaderMouseClick event-handler, die auf Ihrem dgv, aktualisieren Sie die
columnToFilter
jedes mal, wenn Benutzer klicken Sie auf es.Und schließlich die TextChaged Veranstaltung. Verwenden Sie die DataTable.Wählen Sie Methode zum filtern der Datentabelle und update das Ergebnis, wenn überhaupt, an den dgv.
Können Sie versuchen, diese.
Die Abfrage in SQLAdapter geht ein wenig so etwas wie dieses:
und so weiter je nach Anzahl der Felder, die Sie wollen, zu betrachten. Hinweis: "con" ist mein SQLConnection.
Diese ganze code-snippet füllen Sie Ihr DatagridView mit dem Ergebnis der Abfrage jedesmal, wenn der Benutzer die Taste in etwas über Ihre searchtextbox.
when I click one column of the DataGridView and I type in the search box, I can only get results from that same column not the other columns beside it
und Abfragen der db jedes mal, wenn Benutzer geben Sie einen char ist nicht eine gute Idee überhaupt.