Entwickler-Ecke

WinForms - DataGridView mit mehreren Stichworten filtern


Phanthomas - Do 13.12.12 23:10
Titel: DataGridView mit mehreren Stichworten filtern
Hi,

ich betreue derzeit auf Arbeit ein kleines Projekt.
Ein Teil des Projekts besteht darin, dass man innerhalb einer Tabelle nach bis zu 3 Stichworten filtern kann.

DataTable, BindingSource und DataGridView sind korrekt miteinander verknüpft und Testfiltern mit der ersten Spalte und dem ersten TextBox funktioniert auch.
Da aber bis zu 3 Textboxen genutzt werden sollen um die Tabelle zu filtern, erscheint mir der Aufwand doch recht groß.

bs ist als BindingSource deklariert und folgende Zeile funktioniert auch wunderbar, wenn man nur die erste Textbox benutzt:


C#-Quelltext
1:
bs.Filter = string.Format("Firma like '%" + tb_Search1.Text + "%'");                    


Nun meine Frage(n):
Wie filter ich zusätzlich in den anderen Spalten (Adresse, Abteilung, etc.) und das ganze möglichst noch für die 2. und 3. TextBox?

Gruß,
Phanthomas


Ralf Jansen - Fr 14.12.12 00:15

Genauso wie du die Firma gefiltert hast. Die einzelnen Filter, wenn du mehrere hast, kannst du mit AND oder OR verknüpfen.

Eine BindingSource kann nicht filtern sondern reicht das einfach an die darunterliegende Datenmenge weiter. Unter der Annahmen das deine Datenmenge eine DataTable ist findest du Filtermöglichkeiten unter DataColumn.Expression [http://msdn.microsoft.com/de-de/library/system.data.datacolumn.expression.aspx].