Autor Beitrag
Adrasteia
Hält's aus hier
Beiträge: 10


Delphi 2007
BeitragVerfasst: Mo 03.11.08 09:26 
hi in der hoffnung an der richtigen stelle zu posten...
ich nutze CodeGear Delphi 2007
ich bräuchte etwas hilfe... ich bin zwar noch am grundkenntnisse erarbeiten, aber ich möchte/muss ein tdbgrid in der form ändern
normal ist ja

tageskarte - 3,00
gastkarte - 4,00
kinderkarte - 2,50


ich hätte das gerne

tageskarte gastkarte kinderkarte
3,00 4,00 2,50


ich weiß aber nicht, ob es beim objectinspektor ne einstellung ist.. oder anders?!
danke schon mal


Zuletzt bearbeitet von Adrasteia am Mo 03.11.08 09:51, insgesamt 1-mal bearbeitet
zuma
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 660
Erhaltene Danke: 21

Win XP, Win7, Win 8
D7 Enterprise, Delphi XE, Interbase (5 - XE)
BeitragVerfasst: Mo 03.11.08 09:50 
[quote="user profile iconAdrasteia

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="user profile iconAdrasteia
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:
ausblenden 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:
ausblenden 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)
Warum sich Sorgen ums Leben machen? Keiner überlebts!
Adrasteia Threadstarter
Hält's aus hier
Beiträge: 10


Delphi 2007
BeitragVerfasst: Mo 03.11.08 10:03 
ok, zur umsetzung brauch ich zwar noch ne weile, bin noch am anfang, aber das hat mir geholfen
danke ;)