![]() |
TAdvListView oder TListview Inhalt filtern
Hallo zusammen,
ich habe folgende Situation. Ich habe auf einem Formular einen TreeView und als ListView würde ich gerne die TAdvListView von TMS oder die normale TListview einsetzen. Nun nach einer kurzen Recherche habe ich soviel rausbekommen, das ich bestimmte Einträge in einer ListView über das Ereigniss OnCustomDrawItem ein bzw. ausblenden kann. Wenn ich das ganze manuell mache, funktioniert es wunderbar. Jetzt stellt sich mir nur die Frage, wenn ich jetzt den festen Wert durch eine Variable ersetze und diese in einer anderen Procedure fülle, wie bekommt das das Ereignis OnCustomDrawItem mit ? Oder was muss ich machen, dass das Ereignis der ListView ausgeführt wird ? |
Re: TAdvListView oder TListview Inhalt filtern
Das Ereignis wird immer beim Zeichnen der Items ausgelöst. Aber ich würde die Daten vorher filtern und den Listview nicht zur Datenhaltung missbrauchen. Wo kommen denn die Daten her?
|
Re: TAdvListView oder TListview Inhalt filtern
Die Daten kommen aus einer Datenbank. Bei den anderen Daten im Programm arbeite ich mit TObjectListen, was auch sehr gut funktioniert.
|
Re: TAdvListView oder TListview Inhalt filtern
Dann filtere doch mit der Abfrage. Dazu hast du doch die Datenbank. Einfacher geht es doch gar nicht.
|
Re: TAdvListView oder TListview Inhalt filtern
Das ist richtig, nur weiche ich dann leicht von meinem bissherigen Konzept ab. Ich hole mir die Daten aus der Datenbank, speichere diesen in TObjecktListen ab und bearbeite diese dort. Zu einem späteren Zeitpunkt sollen dann die Daten in den TObjectListen wieder in die Datenbank geschrieben werden.
Ich wollte halt vremeiden, für jede kleinere Filterung eine Abfrage an die Datenbank zu senden. |
Re: TAdvListView oder TListview Inhalt filtern
Wie gesagt damit machst du es dir unnötig kompliziert, wie du selber gerade siehst. Ich würde das Konzept noch mal überarbeiten.
|
Re: TAdvListView oder TListview Inhalt filtern
In den Klassen der TObjectLIsten wird ja auch noch zusätzlich gerechnet. Deshalb das ganze über die Objecte. Nur habe ich dabei ein kleines Performance-Problem. Je größer der TreeView desto mehr Abfragen. Deshalb dachte ich, es wäre ober eine TObjectList besser gelöst, da diese ja im RAM des Clients ist. Dann muss ich mir wohl gedacnken machen, wie das ganze in eine Stored Procedure reinbastel.
|
Re: TAdvListView oder TListview Inhalt filtern
Mir würde noch ein Kompromiss einfallen. Bekommst du es eventuell gefiltert in die Objektliste rein?
|
Re: TAdvListView oder TListview Inhalt filtern
Ja, bekomme so aus über 5000 Datensätzen nur noch etwas über 400. Was für einen Kompromiss hast Du denn ?
|
Re: TAdvListView oder TListview Inhalt filtern
LOL. Das war der Kompromiss. :mrgreen:
|
Re: TAdvListView oder TListview Inhalt filtern
Schade, denn ich muss die jetzt noch über 400 Datensätze noch nach mehreren Kreterien filtern, wozu mehrere Datenbankabfragen nötig sind. Ich habe halt nach der Möglichkeit gesucht die ListView oder die ObjectListe zu filtern gesucht, da ich mit den Stored Proceduren noch nicht so viel Erfahrungen habe.
|
Re: TAdvListView oder TListview Inhalt filtern
Also meiner Meinung nach ist das aber die einzig sinnvolle Vorgehensweise. Ansonsten kann ich dir da im Moment auch nicht weiterhelfen.
|
Re: TAdvListView oder TListview Inhalt filtern
Danke erstmal, vielleicht hat jemand anderes noch eine Idee. Ich probiere mich inzwischen an den Stored Proceduren und versuche mir damit die komplett gefilterte Liste auszugeben.
|
Re: TAdvListView oder TListview Inhalt filtern
Tu das. Dazulernen ist nie verkehrt.
|
Re: TAdvListView oder TListview Inhalt filtern
Da hast Du vollkommen Recht. Aber die Variante über die ListView oder die TObjectList interessiert mich auch.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz