Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ListView vs. Grid in eine DB schreiben (https://www.delphipraxis.net/147036-listview-vs-grid-eine-db-schreiben.html)

RWarnecke 31. Jan 2010 18:29


ListView vs. Grid in eine DB schreiben
 
Hallo zusammen,

ich brauche da mal eure Hilfe. Ich habe folgende Situation. Ich habe eine Tabelle mit 9 Spalten & 12 Zeilen. Diese Tabelle bleibt immer gleich groß. Diese soll nun in einer Datenbanktabelle abgebildet werden. Jetzt stellt sich mir die Frage, welche Komponente dazu am besten geeignet wäre eine ListView oder ein Grid. Als weitere Voraussetzung soll noch gegeben sein, dass wenn sich ein oder mehrere Werte in der Tabelle ändern, sollen diese ohne großen Aufwand (Schleifen oder ähnliches) in die Datenbanktabelle ebenfalls mit übernommen werden.

Welche Kompo haltet Ihr für die bessere Wahl ? Zusätzlich sei noch gesagt, dass die Tabelle nochmals in einer Klasse abgebildet ist. Nur weiß ich im Moment nicht, ob das von Vorteil oder Nachteil ist.

mkinzler 31. Jan 2010 18:35

Re: ListView vs. Grid in eine DB schreiben
 
Ich würde andersrum vorgehen, alle Manipulationen direkt am DataSet durchführen und das Grid/ListView o.ä. zur reinen Visualisierung nutzen

RWarnecke 31. Jan 2010 18:40

Re: ListView vs. Grid in eine DB schreiben
 
Hallo Markus,

das wäre eine Idee, aber wie reagiere ich auf die geänderten Werte. Die können einmal durch Berechnungen geändert werden oder manuell in der Kompo ?

mkinzler 31. Jan 2010 18:44

Re: ListView vs. Grid in eine DB schreiben
 
In der Kompo kannst du ja eigene Editoren implementieren, die dann die notwendigen Updates durchführen

RWarnecke 31. Jan 2010 18:47

Re: ListView vs. Grid in eine DB schreiben
 
Mmh, ok. Ich werde da mal etwas versuchen. Danke für den Denkanstoss.

haentschman 31. Jan 2010 21:24

Re: ListView vs. Grid in eine DB schreiben
 
Zitat:

das wäre eine Idee, aber wie reagiere ich auf die geänderten Werte.
..verstehe ich nicht ganz. Wenn du im Dataset einen Feldwert änderst wird die Änderung auch im DBGrid angezeigt. Das heißt, daß du dich darum gar nicht kümmern brauchst, da das DBGrid quasi immer aktuell den Inhalt des Datasets abbildet. Wenn du natürlich eine Query an das Grid bindest und die Änderungen direkt in die DB schreibst bekommt natürlich deine Query die Änderungen nicht mit.

:hi:

RWarnecke 1. Feb 2010 03:21

Re: ListView vs. Grid in eine DB schreiben
 
Hallo haentschman,

ich benutze keinerlei DB-Komponenten. Ich mache lediglich alles über Query's und ganz normale Komponenten. Meine Daten werden von der Datenbank in die Klassen geschrieben. Diese regeln, rechnen und schreiben dann die Werte in die dazugehörigen Komponenten. So ist das auch für diese Tabelle. Ich werde mir jetzt einen Weg überlegen, die Werte in der Klasse entsprechend zu ändern und dann die Änderungen in die ListView zu übernehmen.

hoika 1. Feb 2010 07:32

Re: ListView vs. Grid in eine DB schreiben
 
Hallo,

Zitat:

Meine Daten werden von der Datenbank in die Klassen geschrieben.
Das st ja eine interessante DB,
die direkt in Klassen schreiben kann ...

Zitat:

Diese regeln, rechnen und schreiben dann die Werte in die dazugehörigen Komponenten.
Aha, das sieht schon anders aus.


Entweder du nimmst MVC (Model-View-Controller)
oder Publish/Subscribe.
Infos dazu gibt es im Netz genug.

Nur kurz:
MVC - Trennung von Anzeige / Daten / Datenbearbeitung
Pu/Su - Message-System für Info-Austausch (z.B., dass die Daten geändert worden sind -> Neuanzeigen)


Heiko

RWarnecke 1. Feb 2010 07:43

Re: ListView vs. Grid in eine DB schreiben
 
Zitat:

Zitat von hoika
Hallo,

Zitat:

Meine Daten werden von der Datenbank in die Klassen geschrieben.
Das st ja eine interessante DB,
die direkt in Klassen schreiben kann ...

So war das nicht gemeint. Ich lade die Daten aus der Datenbank in eine Query und schreibe Sie dann in die Klasse. Hoffe jetzt ist es besser formuliert.

hoika 1. Feb 2010 07:52

Re: ListView vs. Grid in eine DB schreiben
 
Hallo,

dann hast du vom MVC pratischerweise schon die Daten (Modell).

Hier ist es doch am einfachsten,
eine View-Klasse zu definieren,
der einzige Aufgabe es ist,
das Grid/ListView nach einer Änderung zu aktualisieren.

Die View-Klasse wird durch deine Datenklasse informatiert (Methoden-Aufruf),
dass sich was geändert hat.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 Uhr.
Seite 1 von 2  1 2      

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