[quote="
Adrasteia
tageskarte - 3,00
gastkarte - 4,00
kinderkarte - 2,50
[/quote]
ist nicht 'normal', sondern durch die Struktur der Quelldaten bestimmt. Ich nehme mal an, das die Daten aus einer DB kommen ? In der Tabelle gibts dann 2 Felder (Bezeichnung, Wert)?
ein DB-Grid stellt immer die Struktur der Tabelle/Abfrage da.
Die Daten in einem anderen Format anzuzeigen, muss man selber machen.
[quote="
Adrasteia
tageskarte gastkarte kinderkarte
3,00 4,00 2,50
[/quote]
Um das zu erreichen, könntest du dir ein Clientdataset erzeugen, das du mit der gewünschten Struktur aufbaust und dann dieses an das Grid hängst.
also z.B.
anzahl zeilen ermitteln, die als Spalten ausgegeben werden sollen.
Pro zeile erzeugst du ein Feld im Clientdataset. Nachdem erzeugen
liest du die Daten aus der DB und überträgst sie dann in das Clientdataset:
Clientdataset erzeugen z.B. so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| with Clientdataset, Fielddefs do begin for i := 0 to AnzahlZeilenalsSpalte -1 do Add('Spalte' + IntToStr(i), ftString, 50); createDataset; end; |
dann nimmst du die Daten des Query und liest sie ins CDS:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| Clientdataset.Append; while not Query.eof do begin for i := 0 to AnzahlZeilenAlsSpalte -1 do Clientdataset.Fields[i].asstring := Query.Fieldbyname('Bezeichnung').asstring; end; Clientdataset.Post. query.First; Clientdataset.First. Clientdataset.Append; while not Query.eof do begin for i := 0 to AnzahlZeilenAlsSpalte -1 do Clientdataset.Fields[i].asstring := Query.Fieldbyname('Wert').asstring; end; Clientdataset.Post. end; |
nun hängst du noch das Clientdataset mittels Datasource an das Grid, und fertig.
hab's nur mal eben aus dem Kopf geschrieben, keine Garantie, müsste aber so in etwa das ergeben, was du haben willst.
Ich habe nichts gegen Fremde. Aber diese Fremden sind nicht von hier! (Methusalix)