Autor Beitrag
Phanthomas
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Do 13.12.12 23:10 
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:

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: 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.