Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wie kann ich die Ausgabe ind Dbgrid manipulieren (https://www.delphipraxis.net/21428-wie-kann-ich-die-ausgabe-ind-dbgrid-manipulieren.html)

Reini64 2. Mai 2004 21:23


Wie kann ich die Ausgabe ind Dbgrid manipulieren
 
Guten Abend !

ich habe folgendes Problem:

ich habe eine Datenbank in dieser Datenbank habe das Feld "EK" als Einkaufpreis als Integer Beispiel: 1045 entspricht gleich 10,45. Die Datenbank soll auch so bleiben. Ich möchte nun aber das die DBGrid mir "10,45" anzeigt und nicht 1045.

Ich möchte aber kein SQL-Script verwenden, da die Abfragezeiten hierzu zulange sind. (400 000 Datensätze).
Wie kann ich das Steuern.

Gruß

Reini

fkerber 2. Mai 2004 21:26

Re: Wie kann ich die Ausgabe ind Dbgrid manipulieren
 
Hi!

Schau mal nach Hier im Forum suchenCopy
Dann kopierst du die ersten 2 Stellen, machst ein komma dazu und dann den Rest wieder dran.

So oder so ähnlich :oops:

Ciao fkerber

Reini64 2. Mai 2004 21:44

Re: Wie kann ich die Ausgabe ind Dbgrid manipulieren
 
der Wert soll mir in der dbgrid direkt angezeigt werden.
die Formatierung erfolgt erst bei der Übernahme, hier geht es ganz einfach um die Anzeige in der DBGrid

Gruß


Reini

woki 2. Mai 2004 21:51

Re: Wie kann ich die Ausgabe ind Dbgrid manipulieren
 
Hi,

schau Dir mal das Ereignis OnGetText der TField Komponente an.

Grüsse
Woki

Reini64 2. Mai 2004 22:13

Re: Wie kann ich die Ausgabe ind Dbgrid manipulieren
 
gibt es irgend wo ein Beispiel dazu ?

woki 2. Mai 2004 22:22

Re: Wie kann ich die Ausgabe ind Dbgrid manipulieren
 
ist mir nicht bekannt, aber du mußt nur aus der übergebnen Fieldkomponente den übergebenen Feldwert nehmen, und in Text den gewüschten Ausgabestring reinschreiben, d.h 1 Zeile Code.

Robert_G 2. Mai 2004 22:30

Re: Wie kann ich die Ausgabe ind Dbgrid manipulieren
 
Zitat:

Zitat von Reini64
Ich möchte aber kein SQL-Script verwenden, da die Abfragezeiten hierzu zulange sind. (400 000 Datensätze).

Na dann erkläre mir mal wie dein DBGrid an seine Daten kommt. ;)
Mit einem vernünftigen Abfrageplan (meist reichen Indizes für die Felder in der WHERE-Clause) sind 400.000 DS schneller da als sie dein Grid darstellen kann (auch auf einem HighEnd PC als Client).


Es gibt aber IMHO auch die Möglichkeit sog. "calculated Fields" anzulegen.
Frag's Pferd wie das genau funktioniert, ich persönlich kann das DBGrid nicht ausstehen und habe mich deshalb damit nicht befasst. Eine Suche in der OH sollte da erfolgsversprechend sein.

Reini64 2. Mai 2004 22:43

Re: Wie kann ich die Ausgabe ind Dbgrid manipulieren
 
Hallo Robert_G

womit gib's Du den die Daten zurück aus einer Table oder Query ?

woki 2. Mai 2004 22:45

Re: Wie kann ich die Ausgabe ind Dbgrid manipulieren
 
Hi,

Nochmal, sowohl für die Lösung dieser Aufgabe als auch für die calculated Fields ist nicht das DBGrid zuständig, sondern die TDataset-Komponente. Per Doppelclick auf die verwendete TDataset -Komponente kann man persistente Felder erzeugen, die dann wiederum das oben erwähnte Ereignis besitzen.

Das TDataset ist nebenbei bemerkt dann auch die Stelle an der man berechnete Felder hinzufügen kann.

@Robert_G: Ist es möglich, das Du dich entschieden hast, visuelle datensensitive Komponenten nicht zu mögen, bevor du sie richtig verstanden hattest?

Grüsse
Woki

Robert_G 2. Mai 2004 22:57

Re: Wie kann ich die Ausgabe ind Dbgrid manipulieren
 
@woki
Da liegst du wahrscheinlich gar nicht so falsch ;)
Ich kam von Oracle zu Delphi und bei diesen DB Aware Kompos hat mich von Anfang an gestört, das ich keinen direkten Einfluss auf das UPDATE, INSERT & DELETE -Statement habe. (Durch das DataBinding in D8 ist das zum Glück nicht mehr der Fall...)
Das das DBGrid verdammt eklig im Handling für den User ist, dürfte aber jedem klar sein der es in seinen Apps "verbaut".


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:04 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