AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Filter für StringGrid richtig realisieren?

Ein Thema von AlexII · begonnen am 14. Jun 2010 · letzter Beitrag vom 14. Jun 2010
Antwort Antwort
Seite 1 von 2  1 2      
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

Filter für StringGrid richtig realisieren?

  Alt 14. Jun 2010, 15:06
Hallo,

also ich möchte für ein StringGrid einen Filter anwenden. Weiß aber nicht wie man das am besten macht, habe aber zwei Idee, sagt mir bitte welche von diesen die beste ist, oder ob es eine noch bessere gibt, danke!

1. Idee:
Ich lade die Daten erstmals in eine globale Stringlist und übergebe sie dem Filter entsprechen an das StringGrid. Wenn ich dann die Daten im StringGrid bearbeite oder lösche muss ich diese auch an die Stringlist senden, um die Liste aktuell zu halten.

2. Idee:
Ich lade alle Daten gleich in das StringGrid und falls der Filter an ist, kopiere ich die Daten in eine Stringlist und filtere das StringGrid. Wenn ich im StringGrid was bearbeite oder lösche, muss ich zuvor den Filter ausschalten, das StringGrid komplett aus der Stringlist wiederherstellen, die Daten bearbeiten und wieder das ganze StringGrig in die Stringliste kopieren und den Filter einschalten.


Wow, hoffe hab mich verständig ausgedruckt.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#2

AW: Filter für StringGrid richtig realisieren?

  Alt 14. Jun 2010, 16:10
??? ne nicht so richtig verständlich ???

Willst du eine Filterung ähnlich wie bei MS-Excel erzielen? Gib doch mal ein Beispiel.

Gruß David
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Filter für StringGrid richtig realisieren?

  Alt 14. Jun 2010, 17:02
Ja man gibt z.B. im Filter das Wort "männlich" und es werden nur Daten von Männern angezeigt.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Filter für StringGrid richtig realisieren?

  Alt 14. Jun 2010, 17:04
Hallo,

ganz schön kompliziert

Merke dir per Grid.Objects, zu welchem Eintrag eine Zeile gehört (z.B. DBId).

Das Filtern übernimmt deine (schon vorhandene) FillGrid beim Eintragen.


Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Filter für StringGrid richtig realisieren?

  Alt 14. Jun 2010, 17:05
Man könnte mit einem Memory-Dataset und einen DBGrid arbeiten
Markus Kinzler
  Mit Zitat antworten Zitat
RaSoWa1

Registriert seit: 1. Jun 2006
Ort: Halle/Saale
140 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Filter für StringGrid richtig realisieren?

  Alt 14. Jun 2010, 17:28
Ich habe mir ein TFilterGrid-Komponente erstellt. Da gehe ich wie folgt vor:

Filter an:
Datensätze, die nicht der Filterbedingung entsprechen, werden in ein temporäres StringGrid verschoben.

Filter aus:
Datensätze aus dem temporären StringGrid werden wieder angehangen und die Tabelle neu sortiert. Das temporäre Grid wird freigegegben.

Gruß Klaus
Klaus
  Mit Zitat antworten Zitat
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#7

AW: Filter für StringGrid richtig realisieren?

  Alt 14. Jun 2010, 17:36
Also falls du das AdvStringGrid kannst du ganz einfach mit AdvStringGrid1.HideRow(integer), AdvStringGrid1.UnHideRow(integer) arbeiten und deinen "Filter" kannst du mit AdvStringGrid1.Cols[integer] füllen.

Wenn du allerdings nur das delphieigene StringGrid hast kannst du als nicht so elegante Lösung RowHeights[integer] := 0 setzten, aber da "sieht man" die versteckten Zeilen leider noch. Sonst kommst du um eine Struktur die alle Daten hält nicht herum, eine DB oder ein zweites Grid, oder auch eine Stringliste mit angehängten Objekten.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Filter für StringGrid richtig realisieren?

  Alt 14. Jun 2010, 18:10
Das Filtern übernimmt deine (schon vorhandene) FillGrid beim Eintragen.
Was ist denn FillGrid?
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#9

AW: Filter für StringGrid richtig realisieren?

  Alt 14. Jun 2010, 18:14
Wenn du allerdings nur das delphieigene StringGrid hast kannst du als nicht so elegante Lösung RowHeights[integer] := 0 setzten, aber da "sieht man" die versteckten Zeilen leider noch.
Und wenn ich RowHeights[integer] auf -1 setze? Darf man das? Also

Code:
RowHeights[integer] := -1
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
David Martens

Registriert seit: 29. Sep 2003
205 Beiträge
 
Delphi XE Enterprise
 
#10

AW: Filter für StringGrid richtig realisieren?

  Alt 14. Jun 2010, 18:16
Da verschwinden die Gitterlinien leider ganz, sieht noch bescheidener aus, es sei denn du hast erst garkeine.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz