Anbei mal ein Bild wie es jetzt mit einem Crosstab aussieht.
Die Gesamtsumme will ich rechts ausrichten.
Delphi-Quellcode:
procedure TfrmAuswertung.frxReport1BeforePrint(Sender: TfrxReportComponent);
//CrossView füllen
var
Cross: TfrxCrossView;
i, j: Integer;
s: string;
begin
if Sender is TfrxCrossView then
begin
Cross := TfrxCrossView(Sender);
DBGrid1.DataSource.DataSet.First;
i := 0;
while not DBGrid1.DataSource.DataSet.Eof do
begin
for j := 0 to DBGrid1.DataSource.DataSet.Fields.Count - 1 do
begin
if (DBGrid1.DataSource.DataSet.Fields[j] is TFloatField) then
begin
s := format('%.2f',[DBGrid1.DataSource.DataSet.Fields[j].AsFloat]);
Cross.AddValue([i], [DBGrid1.DataSource.DataSet.Fields[j].DisplayLabel],
[s]);
end
else
begin
Cross.AddValue([i], [DBGrid1.DataSource.DataSet.Fields[j].DisplayLabel],
[DBGrid1.DataSource.DataSet.Fields[j].AsString]);
end;
end;
DBGrid1.DataSource.DataSet.Next;
Inc(i);
end;
end;
end;