Laden...

Filter auf bestimmter Spalte entfernen?

Erstellt von BounceReloaded vor 16 Jahren Letzter Beitrag vor 16 Jahren 905 Views
B
BounceReloaded Themenstarter:in
9 Beiträge seit 2007
vor 16 Jahren
Filter auf bestimmter Spalte entfernen?

Hallo,

ich habe mir ein ContextMenuStrip gebastelt mit dem ich, ähnlich wie unter Access, über ein Click_Event mit der rechten Maustaste ein DataGridView filtern kann.

Das funktinoniert soweit auch ganz gut aber nun möchte ich den Filter auch wieder zurücknehmen können und zwar separat für jede Spalte auf der ein Filter benutzt wird.

Ich habe mir eine List<..> erstellt und eine Methode mit der ich den Filter schrittweise wieder entfernen kann. Dies mache ich über ein if-Anweisung nach dem Motto...
Listname.RemoveAT(Listname.Count -1).

Das klappt bis dahin prima aber ich kann eben nicht über den Rechtsklick herausfinden ob auf einer Spalte bereits ein Filter liegt oder nicht um diesen dann explizit zu entfernen.

Kann mir vielleicht jemand auf die Sprünge helfen wie das gehen könnte??

Das ganze läuft bisher über eine BindingSource und deren Filtermöglichkeit.

Vielen Dank und guten Rutsch

432 Beiträge seit 2005
vor 16 Jahren

hi br
wir haben exakt das gleiche für unsere datengitter gemacht.

da der name der spalte eindeutig ist, haben wir unsere (aktiven) filter in einem dictionary gemerkt, dessen schlüssel eben der spaltenname ist.

enthält das dictionary den spaltennamen, ist für die spalte ein filter gesetzt, anderenfalls nicht.

hth
ron

B
BounceReloaded Themenstarter:in
9 Beiträge seit 2007
vor 16 Jahren

Hallo citizen,

vielen Dank für Deine Antwort.

Leider kenne ich mich mit Dictionary noch nicht aus.

Ich habe ja momentan eine List<...> in der ich jeden einzelnen Filter speichere.

Wie kann ich das dann realisieren?

Kannst Du mir ein paar Zeilen Code geben, damit ich sehe wie du das dann verglichen hast,
momentan weiß ich nicht wie du das genau meinst?

Vielen Dank im voraus

B
BounceReloaded Themenstarter:in
9 Beiträge seit 2007
vor 16 Jahren

Hallo citizen,

vielen Dank nochmals für den Tip mit dem Dictionary.
Ich konnte es jetzt so lösen...

Grüsse