Hallo,
ich suche eine Möglichkeit um die Inhalte einer Gridbox zu filtern. Dabei geht es darum, dass bestimmte Zeilen angezeigt werden und andere nicht. Bisher erstelle ich ein unsichtbares Grid und eine Gridbox in die dann alle Zeilen geschrieben werden, die auf die Maske passen. Das ist recht aufwändig (nicht von der Programmierung, aber vom Rechenaufwand her). Gibt es da eine einfachere, schnellere Möglichkeit?
Gridbox filtern
-
-
-
Etwas schneller geht es ab der kommenden Version X4 oder
wenn du im Besitz der Subscription bist, schon jetzt.Da kannst du mit der festen MoveListProc schon
beim kopieren direkt eingreifen. Rolands interne
Schleife dürfte auch etwas schneller sein, als die
von uns programmierten. -
Hallo,
X4 hab ich schon. Ich werde es ausprobieren, daran hab ich gar nicht gedacht. Leider basiert das dann aber immer noch auf dem Prinzip eine Liste in eine andere zu kpieren, ich hatte gehofft, dass man das irgendwie anders machen kann. Aber definitiv einen Blick wertDanke,
Jac -
Ich wüßte jetzt auch nicht, wie man einzelne Zeilen einer
Gridbox ausblenden könnte. Bloß mit den Move-Funktionen
und der MoveListProc geht es am schnellsten. -
Bei der Gridbox handelt es sich ja um ein Listview. Und ich habe tatsächlich noch keine Möglichkeit gefunden, bestimmte Zeilen auszublenden, bzw. nicht anzuzeigen. Ich fürchrte, das sieht Windows nicht vor.
Gruß
Roland -
Ah ok. Danke für die Antworten.
-
Doch, das könnte ähnlich wie eine externe Sortierung des Listviews funktionieren, nur werden bestimmte Zeilen nicht angezeigt. Allerdings sind die dann auch komplett raus genommen.
-
Ich löse es momentan so, dass ich die auzublendenden Elemente einer unsichtbare Gruppe zuweise.
-
Interesssanter Thread mit Für- und Gegenargumenten: Link
Die argumentieren, daß man Oberfläche und "Business Logic" nicht mischen sollte. Offenbar gibt´s in der Informatik eine Art "Reinheitsgebot" ... An anderer Stelle wird erwähnt, daß man RowHeight auf Null setzen könnte, wenn es einzig um den View geht. Wäre aber offenbar ein tiefer Eingriff, der standardmäßig nicht vorgesehen ist. -
Es wundert mich, dass Microsoft da nichts vorbereitet hat.
-
Interesssanter Thread mit Für- und Gegenargumenten: Link
Die argumentieren, daß man Oberfläche und "Business Logic" nicht mischen sollte. Offenbar gibt´s in der Informatik eine Art "Reinheitsgebot" ... An anderer Stelle wird erwähnt, daß man RowHeight auf Null setzen könnte, wenn es einzig um den View geht. Wäre aber offenbar ein tiefer Eingriff, der standardmäßig nicht vorgesehen ist.Das hat weniger etwas mit Reinheit zu tun, als mit Wartbarkeit. Und ich weiß wovon ich spreche! Ich warte derzeit in der Firma ein Programm, wo das alles munter gemischt ist. Da blickt keiner mehr durch.
Gruß
Roland -
Da so etwas wohl doch häufiger vorkommt, hatte ich auch bereits, sollten wir vielleicht einen eigenen Filter entwickeln.
Genau nach dem Prinzip: Daten in ein Grid aufnehmen.
Über die Filterfunktion dann nur die gewünschten Infos für Anzeige/Bearbeitung als GridBox anbieten.Vielleicht als kleines (!! so geht's !!) Beispiel in der Hilfe.
Ganz allgemein wird man das nicht hinbekommen. Die Filter sind zu unterschiedlich und manchmal irre verzwickt, da werden teilweise Infos aus anderen Datenbanken benötigt. Oder schon das Grid wird vorgefiltert und nur die aktuell wichtigen Daten geladen. Dann werden für die Anzeige weitere umschaltbare Filter eingesetzt.
Verzwickt und deshalb sollte ein Grundgerüst gebastelt werden.
-
Sind das dann nicht schon echte Datenbank-Funktionen? XProfan bietet da doch schon einige Schnittstellen zu mehr oder weniger frei verfügbaren SQL-tauglichen Systemen?
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!